{"id":32766,"name":"org.kohsuke:github-api","ecosystem":"maven","repository_url":"https://github.com/hub4j/github-api","issues_count":115,"created_at":"2025-06-07T11:06:37.435Z","updated_at":"2025-06-07T11:06:37.435Z","purl":"pkg:maven/org.kohsuke:github-api","metadata":{"id":5083854,"name":"org.kohsuke:github-api","ecosystem":"maven","description":"GitHub API for Java","homepage":"https://hub4j.github.io/github-api/","licenses":"The MIT license","normalized_licenses":["MIT"],"repository_url":"https://github.com/hub4j/github-api","keywords_array":[],"namespace":"org.kohsuke","versions_count":138,"first_release_published_at":"2011-06-28T01:44:19.000Z","latest_release_published_at":"2025-04-13T23:04:33.000Z","latest_release_number":"2.0-rc.3","last_synced_at":"2025-05-15T15:55:42.393Z","created_at":"2022-07-29T00:01:06.862Z","updated_at":"2025-05-15T15:55:42.394Z","registry_url":"https://central.sonatype.com/artifact/org.kohsuke/github-api/","install_command":null,"documentation_url":"https://appdoc.app/artifact/org.kohsuke/github-api/","metadata":{},"repo_metadata":{"id":875219,"uuid":"617210","full_name":"hub4j/github-api","owner":"hub4j","description":"Java API for GitHub","archived":false,"fork":false,"pushed_at":"2025-03-25T07:30:54.000Z","size":61739,"stargazers_count":1180,"open_issues_count":156,"forks_count":743,"subscribers_count":42,"default_branch":"main","last_synced_at":"2025-03-25T08:34:05.966Z","etag":null,"topics":["api","client-library","github","github-api","github-api-v3","java","java-api"],"latest_commit_sha":null,"homepage":"https://hub4j.github.io/github-api/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hub4j.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2010-04-19T04:13:03.000Z","updated_at":"2025-03-25T07:30:58.000Z","dependencies_parsed_at":"2023-10-14T21:39:00.644Z","dependency_job_id":"db1833a5-aa87-4897-bc1a-6d0a16f8463c","html_url":"https://github.com/hub4j/github-api","commit_stats":{"total_commits":2889,"total_committers":284,"mean_commits":"10.172535211267606","dds":0.7452405676704742,"last_synced_commit":"2e6dcc1137189aefb9c4c12b7d15b7a0b54de6d1"},"previous_names":[],"tags_count":157,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hub4j","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245430688,"owners_count":20614167,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"hub4j","name":"hub4j","uuid":"54909825","kind":"organization","description":null,"email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/54909825?v=4","repositories_count":1,"last_synced_at":"2024-03-25T23:10:58.972Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/hub4j","funding_links":[],"total_stars":1089,"followers":1,"following":0,"created_at":"2022-11-02T20:43:37.100Z","updated_at":"2024-03-25T23:10:58.985Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hub4j","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hub4j/repositories"},"tags":[{"name":"github-api-2.0-rc.1","sha":"981a9b3cec92d51aaa2bd54ce1458d2476220629","kind":"tag","published_at":"2025-03-21T03:04:34.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-2.0-rc.1","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-rc.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-2.0-rc.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-2.0-rc.1/manifests"},{"name":"github-api-1.327","sha":"9cdb2702f7eac12d99c08fa88ed0d7e11cbef501","kind":"tag","published_at":"2025-02-13T07:45:17.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.327","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.327","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.327","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.327/manifests"},{"name":"github-api-2.0-alpha-3","sha":"fd85f9175add3ca24d6ba82e4e3b25a977e05cf9","kind":"tag","published_at":"2025-01-25T06:44:14.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-2.0-alpha-3","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-2.0-alpha-3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-2.0-alpha-3/manifests"},{"name":"github-api-2.0.0-alpha-2","sha":"f4a0d34f19dec16c121252c8ffaf826afb418a1b","kind":"tag","published_at":"2024-09-17T20:32:51.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-2.0.0-alpha-2","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-2.0.0-alpha-2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-2.0.0-alpha-2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-2.0.0-alpha-2/manifests"},{"name":"github-api-1.326","sha":"6ab7c6608ad413175729d024a804e568dc94b454","kind":"tag","published_at":"2024-09-17T20:30:16.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.326","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.326","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.326","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.326/manifests"},{"name":"github-api-2.0.0-alpha-1","sha":"e79862a54a600cade1e1dc078ad7e46283bafd86","kind":"tag","published_at":"2024-09-15T08:34:03.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-2.0.0-alpha-1","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-2.0.0-alpha-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-2.0.0-alpha-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-2.0.0-alpha-1/manifests"},{"name":"github-api-1.325","sha":"90e1b6fd0e498b054c1d65512687afa4a454b284","kind":"tag","published_at":"2024-09-13T17:39:55.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.325","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.325","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.325","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.325/manifests"},{"name":"github-api-1.324","sha":"5fbd5a0423fd57b54f406fc2914b9e679b4e2f5c","kind":"tag","published_at":"2024-08-19T05:35:05.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.324","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.324","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.324","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.324/manifests"},{"name":"github-api-1.323","sha":"7aa31d535d9cb09a390e110cd716d2b8ca35078f","kind":"tag","published_at":"2024-07-01T18:39:01.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.323","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.323","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.323","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.323/manifests"},{"name":"github-api-1.322","sha":"28035c8961d6cba49a8079cb7a0080f87769dd41","kind":"tag","published_at":"2024-06-19T22:03:32.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.322","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.322","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.322","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.322/manifests"},{"name":"github-api-1.321","sha":"f6fd920b57fb3acdb744cf4717fe6be24079cd9e","kind":"tag","published_at":"2024-03-20T22:44:37.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.321","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.321","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.321","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.321/manifests"},{"name":"github-api-1.320","sha":"8942fd166f96ee047e4688529ef54d354024f784","kind":"tag","published_at":"2024-03-18T20:21:41.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.320","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.320","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.320","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.320/manifests"},{"name":"github-api-1.319","sha":"7a5121cbe053d0ce04f06f1aab3bdf58f550b49f","kind":"tag","published_at":"2024-02-21T09:09:06.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.319","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.319","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.319","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.319/manifests"},{"name":"github-api-1.318","sha":"b949798d1ddb5036f65333341961a5b1c7e97b2c","kind":"tag","published_at":"2023-11-23T08:56:41.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.318","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.318","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.318","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.318/manifests"},{"name":"github-api-1.317","sha":"90f22bd679f4cb06496350ce5f5efee2eead5939","kind":"tag","published_at":"2023-10-20T00:30:03.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.317","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.317","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.317","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.317/manifests"},{"name":"github-api-1.316","sha":"701495b22e5cd2835af25de1479d311c4435570b","kind":"tag","published_at":"2023-08-21T21:07:57.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.316","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.316","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.316","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.316/manifests"},{"name":"github-api-1.315","sha":"5be032edd218791b2bf945c96e77927d995da070","kind":"tag","published_at":"2023-06-01T05:59:38.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.315","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.315","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.315","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.315/manifests"},{"name":"github-api-1.314","sha":"37d653514b590814c97bcb2191859bc025755af5","kind":"tag","published_at":"2023-02-26T20:41:06.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.314","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.314","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.314","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.314/manifests"},{"name":"github-api-1.313","sha":"9f1636f77a5c83eb6f4ec7e307c39a91f04a3d5c","kind":"tag","published_at":"2022-09-27T08:19:13.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.313","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.313","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.313","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.313/manifests"},{"name":"github-api-1.308","sha":"45a6227361794f30b8c89d5b4955b05e949dbf4b","kind":"tag","published_at":"2022-08-18T17:57:48.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.308","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.308","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.308","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.308/manifests"},{"name":"github-api-1.307","sha":"104271dcbbbab63fd1e1ecc794b9e71e4b13a740","kind":"tag","published_at":"2022-06-27T06:58:58.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.307","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.307","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.307","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.307/manifests"},{"name":"github-api-1.306","sha":"c93529472712be6a63cd19f46ed5bb80424627ef","kind":"tag","published_at":"2022-04-21T17:06:41.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.306","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.306","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.306","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.306/manifests"},{"name":"github-api-1.305","sha":"cf42dacc7af5a83a4e70559bd2f7affcc780da18","kind":"tag","published_at":"2022-04-19T22:12:36.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.305","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.305","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.305","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.305/manifests"},{"name":"github-api-1.303","sha":"6952256f2bab60f136ad982b8d0a36fb994006c1","kind":"tag","published_at":"2022-03-05T20:50:59.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.303","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.303","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.303","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.303/manifests"},{"name":"github-api-1.302","sha":"852c34507a964623a64581f084a68bbece4f7ff2","kind":"tag","published_at":"2022-03-02T02:03:48.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.302","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.302","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.302","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.302/manifests"},{"name":"github-api-1.301","sha":"32137c9501f9f249c0129e8c8e014e7e52bfd380","kind":"tag","published_at":"2021-11-24T02:29:22.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.301","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.301","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.301","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.301/manifests"},{"name":"github-api-1.300","sha":"31ee17b3ac6a58920f8345a49a9b24d26f485685","kind":"tag","published_at":"2021-11-22T00:54:11.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.300","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.300","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.300","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.300/manifests"},{"name":"github-api-1.135","sha":"ffe8ad4d1c3c102b4ddcb039680a72cad88d29b1","kind":"tag","published_at":"2021-10-21T15:26:33.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.135","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.135","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.135","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.135/manifests"},{"name":"github-api-1.133","sha":"db4d67636962e86528ce6f8e88e0b3dddbd90b61","kind":"tag","published_at":"2021-09-09T03:26:45.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.133","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.133","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.133","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.133/manifests"},{"name":"github-api-1.132","sha":"54f6eb19098499c39357df7d3c30033da0ab3d84","kind":"tag","published_at":"2021-07-22T18:33:43.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.132","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.132","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.132","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.132/manifests"},{"name":"github-api-1.131","sha":"760b22cfe3115bd5259617cf69c0f28561429e62","kind":"tag","published_at":"2021-06-15T20:11:46.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.131","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.131","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.131","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.131/manifests"},{"name":"github-api-1.130","sha":"43c7f3a5630a6453cd262535bc083576bb772509","kind":"tag","published_at":"2021-06-02T17:44:44.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.130","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.130","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.130","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.130/manifests"},{"name":"github-api-1.129","sha":"1007a8b193e4497c84140bfdaf2196541d9080d8","kind":"tag","published_at":"2021-05-24T12:08:45.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.129","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.129","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.129","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.129/manifests"},{"name":"github-api-1.128","sha":"c1e29289808c9e587d613d5e71e9f2d8e38fac64","kind":"tag","published_at":"2021-04-21T18:05:53.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.128","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.128","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.128","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.128/manifests"},{"name":"github-api-1.127","sha":"15571f93cf50fc52592635b6937c711c2b751801","kind":"tag","published_at":"2021-04-09T08:26:05.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.127","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.127","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.127","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.127/manifests"},{"name":"github-api-1.126","sha":"520fe91e20586dc843e2674e9694d6772c45bfa7","kind":"tag","published_at":"2021-03-30T18:52:38.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.126","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.126","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.126","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.126/manifests"},{"name":"github-api-1.125","sha":"892293b3e6955454ad5f04a4f462a32f1aafa189","kind":"tag","published_at":"2021-03-25T19:44:17.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.125","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.125","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.125","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.125/manifests"},{"name":"github-api-1.124","sha":"cf3a60e107e79e34fdae4f37bf1918b6e2813b4f","kind":"tag","published_at":"2021-03-19T20:48:44.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.124","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.124","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.124","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.124/manifests"},{"name":"github-api-1.123","sha":"9c552212e343895e013e8b651b0088c49c4df96a","kind":"tag","published_at":"2021-02-26T23:20:07.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.123","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.123","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.123","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.123/manifests"},{"name":"github-api-1.122","sha":"6e0da6adeec60f5aa9294aa554f82ee92f638694","kind":"tag","published_at":"2021-01-15T04:14:04.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.122","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.122","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.122","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.122/manifests"},{"name":"github-api-1.121","sha":"641900d0528506f774ea3aa34d132eecb0be5052","kind":"tag","published_at":"2021-01-14T21:19:37.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.121","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.121","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.121","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.121/manifests"},{"name":"github-api-1.120","sha":"0c0d799efa85ca4ef63da8eb6eeeb4da4351cbed","kind":"tag","published_at":"2021-01-14T18:51:48.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.120","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.120","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.120","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.120/manifests"},{"name":"github-api-1.119","sha":"3871790b436d058e40b626addf0aaf62a69b7891","kind":"tag","published_at":"2021-01-06T01:27:19.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.119","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.119","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.119","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.119/manifests"},{"name":"github-api-1.118","sha":"6518e10d8cc74c796a19825755016bc6561c87be","kind":"tag","published_at":"2021-01-04T09:48:23.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.118","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.118","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.118","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.118/manifests"},{"name":"github-api-1.117","sha":"dc6933acc30f77da2e8f46e0223f832c7659db56","kind":"tag","published_at":"2020-11-24T19:13:25.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.117","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.117","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.117","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.117/manifests"},{"name":"github-api-1.116","sha":"45c0610901b766fdb0c619692b07c16d24d7b603","kind":"tag","published_at":"2020-08-13T01:47:46.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.116","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.116","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.116","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.116/manifests"},{"name":"github-api-1.115","sha":"8d0f89f0c54e147877e129dad9a91c11aaf3c0c1","kind":"tag","published_at":"2020-07-16T22:16:52.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.115","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.115","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.115","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.115/manifests"},{"name":"github-api-1.114","sha":"09152a185182043ecdd869bf3d358507c68dc74f","kind":"tag","published_at":"2020-06-11T03:02:22.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.114","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.114","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.114","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.114/manifests"},{"name":"github-api-1.113","sha":"f62957a11a171c15106bc1896f8b280c55c9500b","kind":"tag","published_at":"2020-06-08T21:37:16.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.113","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.113","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.113","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.113/manifests"},{"name":"github-api-1.112","sha":"dc130ed7933caeb82aee314315e3d94977a566e8","kind":"tag","published_at":"2020-05-28T14:48:49.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.112","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.112","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.112","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.112/manifests"},{"name":"github-api-1.111","sha":"be8cb0a6b28e20563abf0e10c5869af5876907cb","kind":"tag","published_at":"2020-04-16T06:48:20.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.111","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.111","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.111","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.111/manifests"},{"name":"github-api-1.110","sha":"9cfc518cf832f7f932cc7e3fee95eb77450b18d6","kind":"tag","published_at":"2020-04-06T16:43:46.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.110","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.110","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.110","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.110/manifests"},{"name":"github-api-1.109","sha":"08e4eb3a0ae5ccfbe27b0661e5ef5ba0b13750e1","kind":"tag","published_at":"2020-04-01T21:31:18.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.109","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.109","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.109","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.109/manifests"},{"name":"github-api-1.108","sha":"62d720e26f4a5daa646d8c5fcd3771b825f749d1","kind":"tag","published_at":"2020-03-05T00:54:46.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.108","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.108","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.108","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.108/manifests"},{"name":"github-api-1.107","sha":"68fc376fc5b7b832366fda989ea912e1a9bf7503","kind":"tag","published_at":"2020-02-23T04:19:01.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.107","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.107","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.107","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.107/manifests"},{"name":"github-api-1.106","sha":"52602056ac604678c26fedc81187afd1710e58c4","kind":"tag","published_at":"2020-01-28T03:07:11.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.106","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.106","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.106","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.106/manifests"},{"name":"github-api-1.105","sha":"14cd5255819306a1fb45735eb7d14d7739573944","kind":"tag","published_at":"2020-01-27T08:03:43.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.105","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.105","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.105","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.105/manifests"},{"name":"github-api-1.103","sha":"0245d69287dbee08d8f7b59b680d9df73712bdba","kind":"tag","published_at":"2020-01-22T19:57:04.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.103","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.103","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.103","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.103/manifests"},{"name":"github-api-1.102","sha":"9360c548efd4353b9a6b44fab59c3fc7bea94c61","kind":"tag","published_at":"2020-01-21T23:40:05.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.102","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.102","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.102","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.102/manifests"},{"name":"github-api-1.101","sha":"c64dd98de91cb66b45d146feb951b7cf560b712b","kind":"tag","published_at":"2019-11-27T18:27:28.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.101","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.101","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.101","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.101/manifests"},{"name":"github-api-1.100","sha":"7b8584ec7bf71568be5ab9249ee6062a69ce205e","kind":"tag","published_at":"2019-11-27T01:53:38.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.100","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.100","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.100","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.100/manifests"},{"name":"github-api-1.99","sha":"ec5c6031e674e8583f677b18b0f30680ca8ee945","kind":"tag","published_at":"2019-11-04T18:08:59.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.99","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.99","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.99","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.99/manifests"},{"name":"github-api-1.95","sha":"7d163f997a8f4a8aeda87974a595b2c51bb84565","kind":"tag","published_at":"2018-11-06T16:42:23.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.95","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.95","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.95","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.95/manifests"},{"name":"github-api-1.94","sha":"b9a13350390c77f2e2ee8e6c27552e5e4d14cb1b","kind":"tag","published_at":"2018-08-30T04:05:27.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.94","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.94","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.94","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.94/manifests"},{"name":"github-api-1.93","sha":"9702d62c85174fb6a03e1db68b794d0e72dc4b77","kind":"tag","published_at":"2018-05-01T14:56:32.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.93","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.93","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.93","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.93/manifests"},{"name":"github-api-1.92","sha":"1b1e1259738117b76904eac72ee366b987e3153a","kind":"tag","published_at":"2018-01-13T19:52:00.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.92","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.92","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.92","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.92/manifests"},{"name":"github-api-1.91","sha":"b41ec1a26ddc3d4206da0083f4f7c85493b9c0cd","kind":"tag","published_at":"2018-01-13T18:36:49.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.91","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.91","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.91","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.91/manifests"},{"name":"github-api-1.90","sha":"63678b8f6548553012b44e4f74ab1520918e502a","kind":"tag","published_at":"2017-10-28T22:54:38.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.90","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.90","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.90","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.90/manifests"},{"name":"github-api-1.89","sha":"0bac02e24e38a915e4d9629cc7059ebb9b484a6c","kind":"tag","published_at":"2017-09-09T20:28:36.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.89","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.89","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.89","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.89/manifests"},{"name":"github-api-1.88","sha":"7e8c80a51db5c5f7412b99a10b8746f1bffec9f5","kind":"tag","published_at":"2017-09-09T15:19:24.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.88","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.88","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.88","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.88/manifests"},{"name":"github-api-1.87","sha":"9f6e2a2a17577fdbfe2dbb2d13ac87ae4f5db827","kind":"tag","published_at":"2017-09-09T15:06:23.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.87","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.87","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.87","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.87/manifests"},{"name":"github-api-1.86","sha":"7161d312aa353222967a7a1020fa3c8fd4f9a496","kind":"tag","published_at":"2017-07-03T00:08:30.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.86","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.86","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.86","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.86/manifests"},{"name":"github-api-1.85","sha":"5b0b09f7d3743e49faa706435b17c1e3a65275ff","kind":"tag","published_at":"2017-03-01T05:06:11.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.85","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.85","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.85","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.85/manifests"},{"name":"github-api-1.84","sha":"b1edca5064f0a022a323d0d8bca46b79125bde66","kind":"tag","published_at":"2017-01-10T00:50:11.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.84","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.84","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.84","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.84/manifests"},{"name":"github-api-1.83","sha":"132fdfab1bd6fff6dec93487ad3c35f46f16cde7","kind":"tag","published_at":"2017-01-10T00:37:59.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.83","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.83","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.83","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.83/manifests"},{"name":"github-api-1.82","sha":"f8d2157b4b04fbcafad051656382552b80bf3be4","kind":"tag","published_at":"2016-12-17T15:50:51.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.82","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.82","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.82","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.82/manifests"},{"name":"github-api-1.81","sha":"d6470311de25cd66ddd55fbce80530954c9fa53d","kind":"tag","published_at":"2016-11-21T16:53:40.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.81","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.81","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.81","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.81/manifests"},{"name":"github-api-1.80","sha":"02e7a1f3651439bf48360dabfc7db5f29edfab53","kind":"tag","published_at":"2016-11-17T06:52:12.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.80","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.80","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.80","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.80/manifests"},{"name":"github-api-1.79","sha":"8f4d2d3e5636227cb1d87fc7a80a72bb7f6cf425","kind":"tag","published_at":"2016-10-25T02:23:16.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.79","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.79","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.79","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.79/manifests"},{"name":"github-api-1.78","sha":"a68d9fed405ca0a1efca21419bfd5cb20d6acac4","kind":"tag","published_at":"2016-10-24T21:10:33.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.78","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.78","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.78","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.78/manifests"},{"name":"github-api-1.77","sha":"30c0a1a654def21bbc83bf7c3083e21b156cb252","kind":"tag","published_at":"2016-08-06T04:32:12.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.77","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.77","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.77","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.77/manifests"},{"name":"github-api-1.76","sha":"f341550c2faf9c0c34024f16b851f517221caa3e","kind":"tag","published_at":"2016-06-03T07:19:11.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.76","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.76","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.76","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.76/manifests"},{"name":"github-api-1.75","sha":"0e300413317f2abafee62ee82791f57ca2959b2b","kind":"tag","published_at":"2016-04-13T20:08:00.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.75","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.75","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.75","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.75/manifests"},{"name":"github-api-1.74","sha":"09c73bb25601d1931446244dc122fb67c5bc8e4c","kind":"tag","published_at":"2016-03-19T02:22:36.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.74","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.74","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.74","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.74/manifests"},{"name":"github-api-1.73","sha":"3e110fa450a48befd702d4f2950d4b23caebbbe4","kind":"tag","published_at":"2016-03-01T05:03:33.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.73","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.73","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.73","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.73/manifests"},{"name":"github-api-1.72","sha":"8faf9f8494dba8787d21267a7f2eebae562d908b","kind":"tag","published_at":"2015-12-10T14:59:53.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.72","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.72","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.72","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.72/manifests"},{"name":"github-api-1.71","sha":"fef31f609ab3dee214b4d2b9f60c11c93a1048fc","kind":"tag","published_at":"2015-12-01T15:27:27.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.71","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.71","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.71","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.71/manifests"},{"name":"github-api-1.70","sha":"ff9ba0567bd412b47778f1f114f16d07de04cddd","kind":"tag","published_at":"2015-08-15T14:19:24.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.70","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.70","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.70","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.70/manifests"},{"name":"github-api-1.69","sha":"5e92c809a84496aa67e8ef1a87071b69973f516b","kind":"tag","published_at":"2015-07-17T12:09:27.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.69","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.69","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.69","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.69/manifests"},{"name":"github-api-1.68","sha":"56e8ddc9ccfbfb3f660790ba3ee79aa4d881edaa","kind":"tag","published_at":"2015-04-20T00:40:37.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.68","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.68","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.68","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.68/manifests"},{"name":"github-api-1.67","sha":"f0ac5e6110c97c0a14fb21a2ed08f48726536b2f","kind":"tag","published_at":"2015-04-14T01:30:42.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.67","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.67","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.67","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.67/manifests"},{"name":"github-api-1.66","sha":"05806a6fcd34a47853b42ef35323ca7bbdcd2ac5","kind":"tag","published_at":"2015-03-24T17:26:46.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.66","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.66","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.66","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.66/manifests"},{"name":"github-api-1.64","sha":"3ef5f153bed2451f70a96c1398afb2caff90e987","kind":"tag","published_at":"2015-03-22T18:16:01.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.64","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.64","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.64","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.64/manifests"},{"name":"github-api-1.63","sha":"286cdc84c970cdfd1eada3498a35a48361c9326a","kind":"tag","published_at":"2015-03-02T17:10:50.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.63","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.63","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.63","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.63/manifests"},{"name":"github-api-1.62","sha":"4042ee4a81d5e4d91c0639c7f278b4c1eaa1f50c","kind":"tag","published_at":"2015-02-15T17:12:24.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.62","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.62","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.62","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.62/manifests"},{"name":"github-api-1.61","sha":"3103fc4f7d333a1c16c54f6d8e5529d3a9848891","kind":"tag","published_at":"2015-02-14T18:28:53.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.61","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.61","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.61","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.61/manifests"},{"name":"github-api-1.60","sha":"ac29ad10db6bcf78eaafa3b5c5b54987696701d5","kind":"tag","published_at":"2015-02-14T18:14:52.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.60","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.60","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.60","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.60/manifests"},{"name":"github-api-1.59","sha":"2233f48d94b5a5fdb5c26edfbe4a879b64e8ef8b","kind":"tag","published_at":"2014-10-08T19:17:51.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.59","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.59","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.59","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.59/manifests"},{"name":"github-api-1.58","sha":"7f4d199e9f730903feeebe7d785a84550fddce59","kind":"tag","published_at":"2014-08-30T21:15:27.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.58","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.58","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.58","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.58/manifests"},{"name":"github-api-1.57","sha":"686a9a9befa65331e724f29dc4f90edaef30c725","kind":"tag","published_at":"2014-08-19T18:29:39.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.57","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.57","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.57","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.57/manifests"},{"name":"github-api-1.56","sha":"7a16df2f43c7bac0ffe7ff4842f617620e90a71e","kind":"tag","published_at":"2014-07-03T04:28:36.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.56","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.56","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.56","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.56/manifests"},{"name":"github-api-1.55","sha":"154c81726b7c7f87b15941b03a1c4211efd8dbda","kind":"tag","published_at":"2014-06-08T17:37:19.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.55","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.55","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.55","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.55/manifests"},{"name":"github-api-1.54","sha":"21d3b731535b22db2d0cae2435bf6e0def7b9929","kind":"tag","published_at":"2014-06-05T17:29:59.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.54","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.54","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.54","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.54/manifests"},{"name":"github-api-1.53","sha":"5df544a638af2e534db5144edbdcd47e2792c388","kind":"tag","published_at":"2014-05-10T22:52:14.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.53","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.53","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.53","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.53/manifests"},{"name":"github-api-1.52","sha":"32fc5f6f24d3ee26b715a94ca1401871de6168ac","kind":"tag","published_at":"2014-05-10T01:39:31.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.52","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.52","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.52","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.52/manifests"},{"name":"github-api-1.51","sha":"e0db2eb46634ab8bfc06c990ecd8ffc1bf1e30dc","kind":"tag","published_at":"2014-04-13T15:58:51.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.51","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.51","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.51","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.51/manifests"},{"name":"github-api-1.50","sha":"8d68f72be9530037b010e5a134513660b91b934d","kind":"tag","published_at":"2014-03-28T17:59:49.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.50","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.50","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.50","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.50/manifests"},{"name":"github-api-1.49","sha":"b5bca8e20787708629fd6fc392f48b286cda55fa","kind":"tag","published_at":"2014-01-06T16:56:36.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.49","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.49","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.49","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.49/manifests"},{"name":"github-api-1.48","sha":"55b6ed66e34c33698ff48f32560810e08c30021e","kind":"tag","published_at":"2014-01-06T16:51:58.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.48","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.48","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.48","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.48/manifests"},{"name":"github-api-1.47","sha":"93a0f691d878e28631431ebda37741ec249bd56e","kind":"tag","published_at":"2013-11-27T19:57:38.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.47","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.47","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.47","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.47/manifests"},{"name":"github-api-1.46","sha":"326e30416e7b59dc7da160a1200febcb06028a56","kind":"tag","published_at":"2013-11-13T21:05:26.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.46","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.46","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.46","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.46/manifests"},{"name":"github-api-1.45","sha":"6f8e87163b9505f01cb83fb69f3d93551c945c41","kind":"tag","published_at":"2013-11-09T23:19:25.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.45","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.45","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.45","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.45/manifests"},{"name":"github-api-1.44","sha":"ad078dccb3fa360f886df0497fab386529755c28","kind":"tag","published_at":"2013-09-07T12:32:18.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.44","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.44","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.44","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.44/manifests"},{"name":"github-api-1.43","sha":"3e03d0a1961e2dbc8459f839524337bd0c320a54","kind":"tag","published_at":"2013-07-07T05:26:42.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.43","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.43","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.43","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.43/manifests"},{"name":"github-api-1.42","sha":"c6aa5e95e1f28e0bae7e1c36fdc22bc4bdf5e30c","kind":"tag","published_at":"2013-05-07T18:09:17.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.42","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.42","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.42","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.42/manifests"},{"name":"github-api-1.41","sha":"612ef44cdfff56ee9a22f5babae2bd5f053b3c62","kind":"tag","published_at":"2013-04-23T17:30:51.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.41","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.41","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.41","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.41/manifests"},{"name":"github-api-1.40","sha":"0a7a4c12a9ed8f54267f2ffdaebf698bfa325d91","kind":"tag","published_at":"2013-04-16T19:30:31.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.40","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.40","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.40","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.40/manifests"},{"name":"github-api-1.39","sha":"1cafa287b06c563a467a6813a6ded750f0236ccb","kind":"tag","published_at":"2013-04-16T19:22:22.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.39","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.39","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.39","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.39/manifests"},{"name":"github-api-1.38","sha":"2651dd670a516c9dc2149b32c7a52bb63675b156","kind":"tag","published_at":"2013-04-07T02:06:40.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.38","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.38","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.38","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.38/manifests"},{"name":"github-api-1.37","sha":"c08acfda82f037283e84b46ec9807dcbb14ff90c","kind":"tag","published_at":"2013-03-15T02:06:08.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.37","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.37","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.37","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.37/manifests"},{"name":"github-api-1.36","sha":"bc48a7e1151b80ded51d8bfae6ced015d4a75c15","kind":"tag","published_at":"2013-01-24T16:23:02.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.36","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.36","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.36","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.36/manifests"},{"name":"github-api-1.35","sha":"44b951c947b8d4d0f57cb07a4b57cf466ca1898e","kind":"tag","published_at":"2013-01-07T00:47:27.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.35","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.35","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.35","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.35/manifests"},{"name":"github-api-1.34","sha":"36d913a9a10f74ac60d28954252a94fc2f2f1422","kind":"tag","published_at":"2013-01-06T01:18:14.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.34","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.34","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.34","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.34/manifests"},{"name":"github-api-1.33","sha":"725403434d9f000053b5ec13ee755c627de4c3c5","kind":"tag","published_at":"2012-09-13T23:31:55.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.33","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.33","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.33","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.33/manifests"},{"name":"github-api-1.32","sha":"8b493dcaef2f5f7f300d2e0a7ff69b4309aaa767","kind":"tag","published_at":"2012-09-06T02:30:14.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.32","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.32","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.32","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.32/manifests"},{"name":"github-api-1.31","sha":"a5f5491697af1b2149d65bfb46be9ac4d7c7c43f","kind":"tag","published_at":"2012-08-28T18:03:05.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.31","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.31","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.31","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.31/manifests"},{"name":"github-api-1.30","sha":"5bb369f0b9dc281c7e5ae39eb4d21ec410e08971","kind":"tag","published_at":"2012-08-28T16:43:18.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.30","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.30","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.30","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.30/manifests"},{"name":"github-api-1.29","sha":"c276c4226cf208c1e9f4fe414a282f0b662291cf","kind":"tag","published_at":"2012-06-18T19:51:27.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.29","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.29","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.29","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.29/manifests"},{"name":"github-api-1.28","sha":"b43bd0756b34faf3c65e8f763859359003b5bf0d","kind":"tag","published_at":"2012-06-13T15:27:55.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.28","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.28","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.28","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.28/manifests"},{"name":"github-api-1.27","sha":"17024bcc6f7d1b7946a9c6b833f99ea36d0b821f","kind":"tag","published_at":"2012-06-12T21:26:27.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.27","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.27","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.27","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.27/manifests"},{"name":"github-api-1.26","sha":"93b349d10035fcc9fbb9d02a8d59bb811d94a80d","kind":"tag","published_at":"2012-06-04T17:09:13.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.26","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.26","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.26","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.26/manifests"},{"name":"github-api-1.25","sha":"4ad54f0bf8345341f2165390ec877997b2a90240","kind":"tag","published_at":"2012-05-22T05:42:22.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.25","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.25","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.25","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.25/manifests"},{"name":"github-api-1.24","sha":"ee4395560dd35c4efb5139cc434f7a2efb02e7e7","kind":"tag","published_at":"2012-05-22T05:16:49.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.24","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.24","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.24","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.24/manifests"},{"name":"github-api-1.23","sha":"274e47e111de9286954088e2db613f9d665b66d6","kind":"tag","published_at":"2012-04-25T00:22:17.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.23","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.23","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.23","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.23/manifests"},{"name":"github-api-1.22","sha":"fede12e571d9edac82621e0fe9c6176c99f6423b","kind":"tag","published_at":"2012-04-12T18:36:54.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.22","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.22","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.22","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.22/manifests"},{"name":"github-api-1.21","sha":"d570b1c678d6fdeffaf97937d308d17eda26f47d","kind":"tag","published_at":"2012-04-12T01:16:13.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.21","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.21","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.21","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.21/manifests"},{"name":"github-api-1.20","sha":"5c7a0ca52ee1b08892d6f972af254dec49af3fbd","kind":"tag","published_at":"2012-04-11T16:32:48.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.20","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.20","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.20","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.20/manifests"},{"name":"github-api-1.19","sha":"cb1b64cbc90a28c3aada479a29d3fbc793cecca4","kind":"tag","published_at":"2012-04-06T15:25:46.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.19","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.19","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.19/manifests"},{"name":"github-api-1.18","sha":"1002fb586b0cd677bfaba5969a5fe327df052454","kind":"tag","published_at":"2012-03-08T20:51:56.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.18","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.18","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.18/manifests"},{"name":"github-api-1.17","sha":"fe28aa4325f8786dc75eeb7c2d48c2c31c99475d","kind":"tag","published_at":"2012-02-12T17:30:14.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.17","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.17","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.17/manifests"},{"name":"github-api-1.16","sha":"f20f29b4a5d56e73382191a67a74d779be44087b","kind":"tag","published_at":"2012-01-03T19:16:12.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.16","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.16","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.16","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.16/manifests"},{"name":"github-api-1.15","sha":"24ffb700e7665a250948f7ab84fd9a293b66a6b3","kind":"tag","published_at":"2012-01-01T05:20:03.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.15","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.15","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.15/manifests"},{"name":"github-api-1.14","sha":"09373ff6191ee3f5c7814ae748963529167de96d","kind":"tag","published_at":"2011-10-27T00:39:13.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.14","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.14","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.14/manifests"},{"name":"github-api-1.13","sha":"0018c5c4815e37345b6c3acf03d93b17802c4258","kind":"tag","published_at":"2011-09-15T18:44:26.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.13","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.13","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.13/manifests"},{"name":"github-api-1.12","sha":"ffc2823b003fcdf01fb097a542613279f7a93ce4","kind":"tag","published_at":"2011-08-27T01:43:20.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.12","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.12","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.12/manifests"},{"name":"github-api-1.11","sha":"8159aa16f9df224b994840efabc2f6aa51e7bef2","kind":"tag","published_at":"2011-08-27T01:12:16.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.11","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.11","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.11/manifests"},{"name":"github-api-1.10","sha":"69533371e248f18e16bf621f07dc09774ecf766a","kind":"tag","published_at":"2011-07-11T18:20:48.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.10","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.10","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.10/manifests"},{"name":"github-api-1.9","sha":"f01ff95029cb422607a944ecee48842a8e97e259","kind":"tag","published_at":"2011-06-28T01:44:00.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.9","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.9","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.9/manifests"},{"name":"github-api-1.8","sha":"8fb92212ffd502ca15c7770f41a16f13d2a011fd","kind":"tag","published_at":"2011-06-17T06:50:56.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.8","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.8","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.8/manifests"},{"name":"github-api-1.7","sha":"5bc67a2b15ccc2a71c50fce3a1efd0ed2b20b6ff","kind":"tag","published_at":"2011-05-28T13:25:44.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.7","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.7/manifests"},{"name":"github-api-1.6","sha":"275b55f674d11b38ebec8a95398c51616c9e0256","kind":"commit","published_at":"2011-03-16T02:08:22.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.6","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.6/manifests"},{"name":"github-api-1.5","sha":"c0dff74536f20c6a536fd09875ccf2b5e7b6fbb9","kind":"commit","published_at":"2011-02-23T00:31:02.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.5","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.5/manifests"},{"name":"github-api-1.4","sha":"e6a8e7fdb739b8cbc9fc858154e3e67d7533a793","kind":"tag","published_at":"2010-12-14T17:54:21.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.4","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.4/manifests"},{"name":"github-api-1.3","sha":"4b87010b99c04d88ac6216b49c8c29cb1e424721","kind":"tag","published_at":"2010-11-24T05:52:28.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.3","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.3/manifests"},{"name":"github-api-1.2","sha":"6f6d5d83a15124e3d1e6782e36b901515510d59b","kind":"tag","published_at":"2010-04-19T16:38:22.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.2","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.2/manifests"},{"name":"github-api-1.1","sha":"f58213cfb7137d41f54542f83fbd551a06717494","kind":"tag","published_at":"2010-04-19T05:24:10.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.1","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.1/manifests"},{"name":"github-api-1.0","sha":"ac77a05981f57c79e422c8fe98d522119338d650","kind":"tag","published_at":"2010-04-19T05:04:26.000Z","download_url":"https://codeload.github.com/hub4j/github-api/tar.gz/github-api-1.0","html_url":"https://github.com/hub4j/github-api/releases/tag/github-api-1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hub4j%2Fgithub-api/tags/github-api-1.0/manifests"}]},"repo_metadata_updated_at":"2025-03-25T08:39:34.410Z","dependent_packages_count":124,"downloads":null,"downloads_period":null,"dependent_repos_count":1114,"rankings":{"downloads":null,"dependent_repos_count":0.36240226651583257,"dependent_packages_count":0.6074742964690807,"stargazers_count":11.883390563525513,"forks_count":7.049424861596372,"docker_downloads_count":0.10791979096797445,"average":4.002122355814954},"purl":"pkg:maven/org.kohsuke/github-api","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/maven/org.kohsuke:github-api","docker_dependents_count":262,"docker_downloads_count":968838972,"usage_url":"https://repos.ecosyste.ms/usage/maven/org.kohsuke:github-api","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/maven/org.kohsuke:github-api/dependencies","status":null,"funding_links":[],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.kohsuke:github-api/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.kohsuke:github-api/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.kohsuke:github-api/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.kohsuke:github-api/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":58,"unique_repositories_count_past_30_days":1,"recent_issues":[{"uuid":"3881773366","node_id":"PR_kwDOLCkU8c7As6DV","number":151,"state":"closed","title":"build(deps): bump the maven-dependencies group across 1 directory with 38 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-01T10:26:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-01T10:31:26.000Z","updated_at":"2026-03-01T10:26:17.000Z","time_to_close":2418890,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven-dependencies","update_count":38,"packages":[{"name":"org.jetbrains.kotlin.android","old_version":"2.2.10","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.10","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"plugin.serialization","old_version":"2.2.10","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"gradle-wrapper","old_version":"8.13","new_version":"9.3.1"},{"name":"com.mikepenz:aboutlibraries-core","old_version":"12.2.4","new_version":"13.2.1","repository_url":"https://github.com/mikepenz/AboutLibraries"},{"name":"com.mikepenz.aboutlibraries.plugin","old_version":"12.2.4","new_version":"13.2.1"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.12.3"},{"name":"androidx.activity:activity-ktx","old_version":"1.10.1","new_version":"1.12.3"},{"name":"androidx.biometric:biometric","old_version":"1.4.0-alpha04","new_version":"1.4.0-alpha05"},{"name":"androidx.compose:compose-bom","old_version":"2025.08.01","new_version":"2026.01.01"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.7","new_version":"1.2.0"},{"name":"androidx.lifecycle:lifecycle-livedata-ktx","old_version":"2.9.3","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.3","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.3","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-ktx","old_version":"2.9.3","new_version":"2.10.0"},{"name":"androidx.compose.material3:material3","old_version":"1.5.0-alpha03","new_version":"1.5.0-alpha13"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.5.0-alpha03","new_version":"1.5.0-alpha13"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.9.0","new_version":"1.10.2"},{"name":"androidx.compose.ui:ui","old_version":"1.9.0","new_version":"1.10.2"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.9.0","new_version":"1.10.2"},{"name":"androidx.compose.ui:ui-tooling-preview","old_version":"1.9.0","new_version":"1.10.2"},{"name":"androidx.compose.ui:ui-graphics","old_version":"1.9.0","new_version":"1.10.2"},{"name":"org.apache.commons:commons-compress","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/apache/commons-compress"},{"name":"commons-io:commons-io","old_version":"2.20.0","new_version":"2.21.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.google.firebase:firebase-bom","old_version":"34.2.0","new_version":"34.8.0"},{"name":"org.kohsuke:github-api","old_version":"1.329","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.google.gms:google-services","old_version":"4.4.3","new_version":"4.4.4"},{"name":"com.google.code.gson:gson","old_version":"2.13.1","new_version":"2.13.2","repository_url":"https://github.com/google/gson"},{"name":"org.jsoup:jsoup","old_version":"1.21.2","new_version":"1.22.1","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.tencent.kona:kona-crypto","old_version":"1.0.18","new_version":"1.0.19","repository_url":"https://github.com/Tencent/TencentKonaSMSuite"},{"name":"com.tencent.kona:kona-provider","old_version":"1.0.18","new_version":"1.0.19","repository_url":"https://github.com/Tencent/TencentKonaSMSuite"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.9.0","new_version":"1.10.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"com.google.android.material:material","old_version":"1.14.0-alpha04","new_version":"1.14.0-alpha09","repository_url":"https://github.com/material-components/material-components-android"},{"name":"org.apache.maven:maven-artifact","old_version":"3.9.11","new_version":"3.9.12"},{"name":"com.squareup.okhttp3:okhttp","old_version":"5.1.0","new_version":"5.3.2","repository_url":"https://github.com/square/okhttp"},{"name":"com.airbnb.android:paris","old_version":"2.0.2","new_version":"2.2.1","repository_url":"https://github.com/airbnb/paris"},{"name":"androidx.activity:activity","old_version":"1.10.1","new_version":"1.12.3"},{"name":"com.android.application","old_version":"8.12.2","new_version":"9.0.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven-dependencies group with 38 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.10` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.10` | `2.3.0` |\n| [plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.10` | `2.3.0` |\n| gradle-wrapper | `8.13` | `9.3.1` |\n| [com.mikepenz:aboutlibraries-core](https://github.com/mikepenz/AboutLibraries) | `12.2.4` | `13.2.1` |\n| com.mikepenz.aboutlibraries.plugin | `12.2.4` | `13.2.1` |\n| androidx.activity:activity-compose | `1.10.1` | `1.12.3` |\n| androidx.activity:activity-ktx | `1.10.1` | `1.12.3` |\n| androidx.biometric:biometric | `1.4.0-alpha04` | `1.4.0-alpha05` |\n| androidx.compose:compose-bom | `2025.08.01` | `2026.01.01` |\n| androidx.datastore:datastore-preferences | `1.1.7` | `1.2.0` |\n| androidx.lifecycle:lifecycle-livedata-ktx | `2.9.3` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.3` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.3` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-ktx | `2.9.3` | `2.10.0` |\n| androidx.compose.material3:material3 | `1.5.0-alpha03` | `1.5.0-alpha13` |\n| androidx.compose.material3:material3-window-size-class | `1.5.0-alpha03` | `1.5.0-alpha13` |\n| androidx.compose.runtime:runtime-livedata | `1.9.0` | `1.10.2` |\n| androidx.compose.ui:ui | `1.9.0` | `1.10.2` |\n| androidx.compose.ui:ui-tooling | `1.9.0` | `1.10.2` |\n| androidx.compose.ui:ui-tooling-preview | `1.9.0` | `1.10.2` |\n| androidx.compose.ui:ui-graphics | `1.9.0` | `1.10.2` |\n| [org.apache.commons:commons-compress](https://github.com/apache/commons-compress) | `1.27.1` | `1.28.0` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.20.0` | `2.21.0` |\n| com.google.firebase:firebase-bom | `34.2.0` | `34.8.0` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.329` | `1.330` |\n| com.google.gms:google-services | `4.4.3` | `4.4.4` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.1` | `2.13.2` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.21.2` | `1.22.1` |\n| [com.tencent.kona:kona-crypto](https://github.com/Tencent/TencentKonaSMSuite) | `1.0.18` | `1.0.19` |\n| [com.tencent.kona:kona-provider](https://github.com/Tencent/TencentKonaSMSuite) | `1.0.18` | `1.0.19` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.10.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.14.0-alpha04` | `1.14.0-alpha09` |\n| org.apache.maven:maven-artifact | `3.9.11` | `3.9.12` |\n| [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp) | `5.1.0` | `5.3.2` |\n| [com.airbnb.android:paris](https://github.com/airbnb/paris) | `2.0.2` | `2.2.1` |\n| androidx.activity:activity | `1.10.1` | `1.12.3` |\n| com.android.application | `8.12.2` | `9.0.0` |\n\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plugin.serialization` from 2.2.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eplugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eplugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 8.13 to 9.3.1\n\nUpdates `com.mikepenz:aboutlibraries-core` from 12.2.4 to 13.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mikepenz/AboutLibraries/releases\"\u003ecom.mikepenz:aboutlibraries-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e13.2.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\u003cbr /\u003e\nRe-publish of 13.2.0 due to a sonatype central API issue\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026gt; Failed to check deployment status for f4a5b999-79b5-4bdf-83a8-e758ed898a66 code: 502 msg: \u0026lt;html\u0026gt;\nFor more on this, please refer to https://docs.gradle.org/9.1.0/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.\n  \u0026lt;head\u0026gt;\u0026lt;title\u0026gt;502 Bad Gateway\u0026lt;/title\u0026gt;\u0026lt;/head\u0026gt;\n  \u0026lt;body\u0026gt;\n  \u0026lt;center\u0026gt;\u0026lt;h1\u0026gt;502 Bad Gateway\u0026lt;/h1\u0026gt;\u0026lt;/center\u0026gt;\n  \u0026lt;/body\u0026gt;\n  \u0026lt;/html\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e13.2.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCompose 1.10.0 | Kotlin 2.3.0\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1273\"\u003e#1273\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate forced offline mode in \u003ccode\u003eAboutLibrariesIdTask\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1272\"\u003e#1272\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e💬 Other\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 5\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1251\"\u003e#1251\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump mikepenz/release-changelog-builder-action from 5 to 6\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1252\"\u003e#1252\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1258\"\u003e#1258\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 5 to 6\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1269\"\u003e#1269\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump actions/cache from 4 to 5\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1268\"\u003e#1268\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/smelfungus\"\u003e\u003ccode\u003e@​smelfungus\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Goooler\"\u003e\u003ccode\u003e@​Goooler\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e13.1.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\u003cbr /\u003e\nv13.1.0 introduces a slight behavior change of the plugin, enabling merging of duplicated libraries with an exact match.\nPlease refer to the \u003ca href=\"https://github.com/mikepenz/AboutLibraries/blob/develop/MIGRATION.md\"\u003eMIGRATION GUIDE\u003c/a\u003e for more information on how to migrate from a previous version.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOffer configuration to include test variants in generated metadata\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/mikepenz/AboutLibraries/commit/2bf7fd02d9a87c790d84b45fc36bc8600390fb18\"\u003e\u003ccode\u003e2bf7fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1275\"\u003e#1275\u003c/a\u003e from mikepenz/develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/4c0a8e468525bf61b0861a430c770e1be1d53ad6\"\u003e\u003ccode\u003e4c0a8e4\u003c/code\u003e\u003c/a\u003e - [release] v13.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/e1957e59fdef04afd3788762afda3842a96a58f6\"\u003e\u003ccode\u003ee1957e5\u003c/code\u003e\u003c/a\u003e - update to new version-catalog, with convention plugin which won't validate ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/09af193c950d166274aa38a6defe64e8bc62b0e5\"\u003e\u003ccode\u003e09af193\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1274\"\u003e#1274\u003c/a\u003e from mikepenz/develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/3afe40c0b89dad95be8abc08cedee82450518071\"\u003e\u003ccode\u003e3afe40c\u003c/code\u003e\u003c/a\u003e - [release] v13.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/48087e089610131407d7636d9461a086f79593a0\"\u003e\u003ccode\u003e48087e0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1273\"\u003e#1273\u003c/a\u003e from mikepenz/feature/compose_1.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/556a3f556cfaee975be7dd4edb3aaf61e32f4d1f\"\u003e\u003ccode\u003e556a3f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1272\"\u003e#1272\u003c/a\u003e from mikepenz/fix/1270\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/105677b11cb8e9b8cbbea14894aead8d4d965ca4\"\u003e\u003ccode\u003e105677b\u003c/code\u003e\u003c/a\u003e Upgrade to Compose 1.10.0, Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/4f4245342e68a1e539ab5f4ad1fe9cbb9d13c5e2\"\u003e\u003ccode\u003e4f42453\u003c/code\u003e\u003c/a\u003e Update forced offline mode in \u003ccode\u003eAboutLibrariesIdTask\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/d805da0bd840959fa15d26579f2c147ed8c76568\"\u003e\u003ccode\u003ed805da0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1268\"\u003e#1268\u003c/a\u003e from mikepenz/dependabot/github_actions/actions/cache-5\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mikepenz/AboutLibraries/compare/12.2.4...13.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.mikepenz.aboutlibraries.plugin` from 12.2.4 to 13.2.1\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.12.3\n\nUpdates `androidx.activity:activity-ktx` from 1.10.1 to 1.12.3\n\nUpdates `androidx.activity:activity-ktx` from 1.10.1 to 1.12.3\n\nUpdates `androidx.biometric:biometric` from 1.4.0-alpha04 to 1.4.0-alpha05\n\nUpdates `androidx.compose:compose-bom` from 2025.08.01 to 2026.01.01\n\nUpdates `androidx.datastore:datastore-preferences` from 1.1.7 to 1.2.0\n\nUpdates `androidx.lifecycle:lifecycle-livedata-ktx` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.9.3 to 2.10.0\n\nUpdates `androidx.compose.material3:material3` from 1.5.0-alpha03 to 1.5.0-alpha13\n\nUpdates `androidx.compose.material3:material3-window-size-class` from 1.5.0-alpha03 to 1.5.0-alpha13\n\nUpdates `androidx.compose.material3:material3-window-size-class` from 1.5.0-alpha03 to 1.5.0-alpha13\n\nUpdates `androidx.compose.runtime:runtime-livedata` from 1.9.0 to 1.10.2\n\nUpdates `androidx.compose.ui:ui` from 1.9.0 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-tooling` from 1.9.0 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.9.0 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-graphics` from 1.9.0 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-tooling` from 1.9.0 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.9.0 to 1.10.2\n\nUpdates `org.apache.commons:commons-compress` from 1.27.1 to 1.28.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-compress/blob/master/RELEASE-NOTES.txt\"\u003eorg.apache.commons:commons-compress's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons Compress 1.28.0 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons Compress team is pleased to announce the release of Apache Commons Compress 1.28.0.\u003c/p\u003e\n\u003cp\u003eApache Commons Compress defines an API for working with\ncompression and archive formats. These include bzip2, gzip, pack200,\nLZMA, XZ, Snappy, traditional Unix Compress, DEFLATE, DEFLATE64, LZ4,\nBrotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003cp\u003eThis release updates Apache Commons Lang to 3.18.0 to pick up the fix for CVE-2025-48924 (\u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2025-48924\"\u003ehttps://nvd.nist.gov/vuln/detail/CVE-2025-48924\u003c/a\u003e), but is not affected by it.\u003c/p\u003e\n\u003ch2\u003eChanges in this version\u003c/h2\u003e\n\u003cp\u003eChanges in this version include the following.\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipParameters.getModificationInstant(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipParameters.setModificationInstant(Instant). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipParameters.OS, setOS(OS), getOS(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipParameters.toString(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCOMPRESS-638:  Add GzipParameters.setFileNameCharset(Charset) and getFileNameCharset() to override the default ISO-8859-1 Charset \u003ca href=\"https://redirect.github.com/apache/commons-compress/issues/602\"\u003e#602\u003c/a\u003e. Thanks to vincexjl, Gary Gregory, Piotr P. Karwasz.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add support for gzip extra subfields, see GzipParameters.setExtra(HeaderExtraField) [#604](https://github.com/apache/commons-compress/issues/604). Thanks to ddeschenes-1, Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add CompressFilterOutputStream and refactor to use. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add ZipFile.stream(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       GzipCompressorInputStream reads the modification time (MTIME) and stores its value incorrectly multiplied by 1,000. Thanks to Danny Deschenes, Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       GzipCompressorInputStream writes the modification time (MTIME) the value incorrectly divided by 1,000. Thanks to Danny Deschenes, Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add optional FHCRC to GZIP header [#627](https://github.com/apache/commons-compress/issues/627). Thanks to Danny Deschenes, Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipCompressorInputStream.Builder allowing to customize the file name and comment Charsets. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipCompressorInputStream.Builder.setOnMemberStart(IOConsumer) to monitor member parsing. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipCompressorInputStream.Builder.setOnMemberEnd(IOConsumer) to monitor member parsing. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add PMD check to default Maven goal. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add SevenZFile.Builder.setMaxMemoryLimitKiB(int). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add MemoryLimitException.MemoryLimitException(long, int, Throwable) and deprecate MemoryLimitException.MemoryLimitException(long, int, Exception). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCOMPRESS-692:  Add support for zstd compression in zip archives. Thanks to Mehmet Karaman, Andrey Loskutov, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add support for XZ compression in ZIP archives. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCOMPRESS-695:  Add ZipArchiveInputStream.createZstdInputStream(InputStream) to provide a different InputStream implementation for Zstandard (Zstd) \u003ca href=\"https://redirect.github.com/apache/commons-compress/issues/649\"\u003e#649\u003c/a\u003e. Thanks to Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.harmony.pack200.Pack200Exception.Pack200Exception(String, Throwable). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCOMPRESS-697:  Move BitStream.nextBit() method to BitInputStream \u003ca href=\"https://redirect.github.com/apache/commons-compress/issues/663\"\u003e#663\u003c/a\u003e. Thanks to Fredrik Kjellberg, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.lzma.LZMACompressorInputStream.builder/Builder(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.lzma.LZMACompressorOutputStream.builder/Builder(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.xz.XZCompressorInputStream.builder/Builder(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.xz.XZCompressorOutputStream.builder/Builder(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.xz.ZstdCompressorOutputStream.builder/Builder() [#666](https://github.com/apache/commons-compress/issues/666). Thanks to Gary Gregory, David Walluck, Piotr P. Karwasz. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.xz.ZstdConstants [#666](https://github.com/apache/commons-compress/issues/666). Thanks to Gary Gregory, David Walluck, Piotr P. Karwasz. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/852d9c23b94127feafc1649d9c7f13d4df338845\"\u003e\u003ccode\u003e852d9c2\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.28.0 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/f5eb9e28edf8a661ac5efc43b7853ee49bb73b3a\"\u003e\u003ccode\u003ef5eb9e2\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/36f204caa6f7bb2c92a9ad04ba246ad47a2465d2\"\u003e\u003ccode\u003e36f204c\u003c/code\u003e\u003c/a\u003e Camel case parameter name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/4c04e4a803831c00663a6dafd0f0837fba60633b\"\u003e\u003ccode\u003e4c04e4a\u003c/code\u003e\u003c/a\u003e Use final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/6cb7da194a9369edfbd65629576203b8af61ba44\"\u003e\u003ccode\u003e6cb7da1\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/563c9d2fa4d2340902284fc044a7398fc15da5fb\"\u003e\u003ccode\u003e563c9d2\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/ce73bd890e50fcb88d362fc8298f31fa90d802aa\"\u003e\u003ccode\u003ece73bd8\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/a464ae94e0f9c59e9bc30be6086d876f9907d0a4\"\u003e\u003ccode\u003ea464ae9\u003c/code\u003e\u003c/a\u003e Better parameter names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/c0b2b84144d923a2bf7caada35e1d9bb5d562e78\"\u003e\u003ccode\u003ec0b2b84\u003c/code\u003e\u003c/a\u003e Add TODO for next major version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/c76bc976703dc0cebfb6d4653061b8ac3524421d\"\u003e\u003ccode\u003ec76bc97\u003c/code\u003e\u003c/a\u003e Use OpenVEX to document that we are not affected by CVE-2025-48924 in\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-compress/compare/rel/commons-compress-1.27.1...rel/commons-compress-1.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commons-io:commons-io` from 2.20.0 to 2.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-io/blob/master/RELEASE-NOTES.txt\"\u003ecommons-io:commons-io's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eApache Commons IO 2.22.0 Release Notes\u003c/p\u003e\n\u003cp\u003eThe Apache Commons IO team is pleased to announce the release of Apache Commons IO 2.22.0.\u003c/p\u003e\n\u003ch2\u003eIntroduction\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons IO library contains utility classes, stream implementations, file filters,\nfile comparators, endian transformation classes, and much more.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cp\u003eo          Add and use IOUtils.closeQuietlySuppress(Closeable, Throwable) \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/818\"\u003e#818\u003c/a\u003e. Thanks to Gary Gregory, Piotr P. Karwasz.\u003c/p\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cp\u003eo          Fix Apache RAT plugin console warnings. Thanks to Gary Gregory.\no          ByteArraySeekableByteChannel.position(long) and truncate(long) shouldn't throw an IllegalArgumentException for a new positive position that's too large \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/817\"\u003e#817\u003c/a\u003e. Thanks to Gary Gregory, Piotr P. Karwasz.\no          Fix malformed Javadoc comments. Thanks to Gary Gregory.\no          ReadAheadInputStream.close() doesn't always close its filtered input stream. Thanks to Stanislav Fort, Gary Gregory.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eo          Bump org.apache.commons:commons-parent from 91 to 96 \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/816\"\u003e#816\u003c/a\u003e. Thanks to Gary Gregory, Dependabot.\no          Bump commons-codec:commons-codec from 1.19.0 to 1.20.0 \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/812\"\u003e#812\u003c/a\u003e. Thanks to Gary Gregory, Dependabot.\no          Bump commons.bytebuddy.version from 1.17.8 to 1.18.4 \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/814\"\u003e#814\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/820\"\u003e#820\u003c/a\u003e. Thanks to Gary Gregory, Dependabot.\no          Bump commons-lang3 from 3.19.0 to 3.20.0. Thanks to Gary Gregory, Dependabot.\u003c/p\u003e\n\u003cp\u003eCommons IO 2.7 and up requires Java 8 or above.\nCommons IO 2.6 requires Java 7 or above.\nCommons IO 2.3 through 2.5 requires Java 6 or above.\nCommons IO 2.2 requires Java 5 or above.\nCommons IO 1.4 requires Java 1.3 or above.\u003c/p\u003e\n\u003cp\u003eHistorical list of changes: \u003ca href=\"https://commons.apache.org/proper/commons-io/changes.html\"\u003ehttps://commons.apache.org/proper/commons-io/changes.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFor complete information on Apache Commons IO, including instructions on how to submit bug reports,\npatches, or suggestions for improvement, see the Apache Commons IO website:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://commons.apache.org/proper/commons-io/\"\u003ehttps://commons.apache.org/proper/commons-io/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDownload page: \u003ca href=\"https://commons.apache.org/proper/commons-io/download_io.cgi\"\u003ehttps://commons.apache.org/proper/commons-io/download_io.cgi\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/54073d3b5fdd2985b98a48040ede95eb59c7ee53\"\u003e\u003ccode\u003e54073d3\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 2.21.0 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/f141f09d91368543e4f0754cbd649c484768c55c\"\u003e\u003ccode\u003ef141f09\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/adcf1350152faf4dbd8cf53fb2f2649f25dbe227\"\u003e\u003ccode\u003eadcf135\u003c/code\u003e\u003c/a\u003e Add license header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/0f499d060adbd4b36bbd9f47393a7ea6af8149ff\"\u003e\u003ccode\u003e0f499d0\u003c/code\u003e\u003c/a\u003e Use new oak logo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/34a961c3ed58ed96c73836db154ae50f0c45110f\"\u003e\u003ccode\u003e34a961c\u003c/code\u003e\u003c/a\u003e Use HTTPS in URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/9e511181a03096b77c3a4b9c6077a4ac0b56b510\"\u003e\u003ccode\u003e9e51118\u003c/code\u003e\u003c/a\u003e Use HTTPS in URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/d715865ee705fdb8ed786582bd6bd4ee996b0665\"\u003e\u003ccode\u003ed715865\u003c/code\u003e\u003c/a\u003e Add dependabot email [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/3d6a7e113633e1a33ca254d744c3fcbab61663f3\"\u003e\u003ccode\u003e3d6a7e1\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/ad875d566f273f54094b6b872bf9433be9fd86a7\"\u003e\u003ccode\u003ead875d5\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 4.6.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/apache/commons-io/issues/810\"\u003e#810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/bc01dee31ec0ff10aa0841ff245b770fa1ecfade\"\u003e\u003ccode\u003ebc01dee\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.30.9 to 4.31.2 (\u003ca href=\"https://redirect.github.com/apache/commons-io/issues/811\"\u003e#811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-io/compare/rel/commons-io-2.20.0...rel/commons-io-2.21.0\"\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-bom` from 34.2.0 to 34.8.0\n\nUpdates `org.kohsuke:github-api` from 1.329 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.gms:google-services` from 4.4.3 to 4.4.4\n\nUpdates `com.google.code.gson:gson` from 2.13.1 to 2.13.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/gson/releases\"\u003ecom.google.code.gson:gson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGson 2.13.2\u003c/h2\u003e\n\u003cp\u003eThe main changes in this release are just newer dependencies.\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/klxiaoniu/QQVersionList/pull/151","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/klxiaoniu%2FQQVersionList/issues/151","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/151/packages"},{"uuid":"3751173886","node_id":"PR_kwDOE3FSEs66ActE","number":276,"state":"open","title":"Bump org.kohsuke:github-api from 1.327 to 1.330","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":"2025-12-21T14:01:21.000Z","updated_at":"2025-12-24T12:58:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.kohsuke:github-api","old_version":"1.327","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"}],"path":null,"ecosystem":"maven"},"body":"Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.327 to 1.330.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.330\"\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=org.kohsuke:github-api\u0026package-manager=gradle\u0026previous-version=1.327\u0026new-version=1.330)](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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/opwvhk/avro-schema-support/pull/276","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/opwvhk%2Favro-schema-support/issues/276","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/276/packages"},{"uuid":"3657075622","node_id":"PR_kwDOHZZ-5861Gq9d","number":1114,"state":"closed","title":"build(deps)(deps): bump org.kohsuke:github-api from 1.314 to 1.330 in /dataload","user":"dependabot[bot]","labels":["dataload","dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-11-24T09:50:30.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-24T04:50:04.000Z","updated_at":"2025-11-24T09:50:39.000Z","time_to_close":18026,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)(deps)","packages":[{"name":"org.kohsuke:github-api","old_version":"1.314","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"}],"path":"/dataload","ecosystem":"maven"},"body":"Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.314 to 1.330.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.314...github-api-1.330\"\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=org.kohsuke:github-api\u0026package-manager=maven\u0026previous-version=1.314\u0026new-version=1.330)](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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/EBISPOT/ols4/pull/1114","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/EBISPOT%2Fols4/issues/1114","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1114/packages"},{"uuid":"3511812542","node_id":"PR_kwDODf4ejs6tjrPU","number":14,"state":"closed","title":"build(deps): bump the gradle group across 1 directory with 51 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":true,"comments_count":1,"pull_request":true,"closed_at":"2025-10-15T19:25:07.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-13T23:42:15.000Z","updated_at":"2025-10-15T19:25:15.000Z","time_to_close":157372,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":51,"packages":[{"name":"com.google.errorprone:error_prone_core","old_version":"2.36.0","new_version":"2.42.0","repository_url":"https://github.com/google/error-prone"},{"name":"biz.aQute.bnd:biz.aQute.bnd.annotation","old_version":"6.4.1","new_version":"7.1.0","repository_url":"https://github.com/bndtools/bnd"},{"name":"org.jsoup:jsoup","old_version":"1.17.2","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.infradna.tool:bridge-method-annotation","old_version":"1.18","new_version":"1.24","repository_url":"https://github.com/infradna/bridge-method-injector"},{"name":"org.kohsuke:github-api","old_version":"1.303","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.github.spotbugs:spotbugs-annotations","old_version":"3.1.12","new_version":"4.9.6","repository_url":"https://github.com/spotbugs/spotbugs"},{"name":"org.apache.commons:commons-collections4","old_version":"4.4","new_version":"4.5.0"},{"name":"org.apache.commons:commons-csv","old_version":"1.10.0","new_version":"1.14.1","repository_url":"https://github.com/apache/commons-csv"},{"name":"commons-io:commons-io","old_version":"2.16.1","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.fasterxml.jackson:jackson-bom","old_version":"2.19.1","new_version":"2.20.0","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.datanucleus:datanucleus-accessplatform-jdo-rdbms","old_version":"6.0.7","new_version":"6.0.10","repository_url":"https://github.com/datanucleus/datanucleus-accessplatform"},{"name":"org.flywaydb:flyway-core","old_version":"9.22.3","new_version":"11.14.0","repository_url":"https://github.com/flyway/flyway"},{"name":"org.xerial:sqlite-jdbc","old_version":"3.45.3.0","new_version":"3.50.3.0","repository_url":"https://github.com/xerial/sqlite-jdbc"},{"name":"de.sstoehr:har-reader","old_version":"3.1.4","new_version":"4.0.0","repository_url":"https://github.com/sdstoehr/har-reader"},{"name":"io.hektor:hektor-fsm","old_version":"0.0.5","new_version":"0.0.8","repository_url":"https://github.com/sniceio/hektor"},{"name":"com.github.curious-odd-man:rgxgen","old_version":"2.0","new_version":"3.1","repository_url":"https://github.com/curious-odd-man/RgxGen"},{"name":"com.natpryce:snodge","old_version":"2.1.2.2","new_version":"3.7.0.0","repository_url":"https://github.com/npryce/snodge"},{"name":"org.codehaus.groovy:groovy-all","old_version":"3.0.14","new_version":"3.0.25","repository_url":"https://github.com/apache/groovy"},{"name":"io.grpc:grpc-protobuf","old_version":"1.61.1","new_version":"1.76.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"org.jruby:jruby-complete","old_version":"1.7.4","new_version":"9.4.14.0"},{"name":"org.python:jython-standalone","old_version":"2.7.2","new_version":"2.7.4","repository_url":"https://github.com/jython/jython"},{"name":"dev.langchain4j:langchain4j","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-azure-open-ai","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-ollama","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"io.swagger.parser.v3:swagger-parser","old_version":"2.1.34","new_version":"2.1.35","repository_url":"https://github.com/swagger-api/swagger-parser"},{"name":"org.htmlunit:htmlunit-csp","old_version":"4.0.0","new_version":"4.17.0","repository_url":"https://github.com/HtmlUnit/htmlunit-csp"},{"name":"com.google.re2j:re2j","old_version":"1.7","new_version":"1.8","repository_url":"https://github.com/google/re2j"},{"name":"org.xhtmlrenderer:flying-saucer-pdf","old_version":"9.3.1","new_version":"9.13.3","repository_url":"https://github.com/flyingsaucerproject/flyingsaucer"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.2.RELEASE","new_version":"3.1.3.RELEASE"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"2.3.2","new_version":"4.0.6"},{"name":"net.bytebuddy:byte-buddy","old_version":"1.14.13","new_version":"1.17.8","repository_url":"https://github.com/raphw/byte-buddy"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.19.0"},{"name":"org.seleniumhq.selenium:selenium-java","old_version":"4.35.0","new_version":"4.36.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"jakarta.xml.soap:jakarta.xml.soap-api","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/jakartaee/saaj-api"},{"name":"com.sun.xml.messaging.saaj:saaj-impl","old_version":"3.0.0","new_version":"3.0.4"},{"name":"com.predic8:soa-model-core","old_version":"2.0.1","new_version":"2.2.0","repository_url":"https://github.com/membrane/soa-model"},{"name":"io.kaitai:kaitai-struct-runtime","old_version":"0.10","new_version":"0.11","repository_url":"https://github.com/kaitai-io/kaitai_struct_java_runtime"},{"name":"org.slf4j:jcl-over-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:jul-to-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:slf4j-log4j12","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.hamcrest:hamcrest-library","old_version":"2.2","new_version":"3.0","repository_url":"https://github.com/hamcrest/JavaHamcrest"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.10.0","new_version":"5.20.0","repository_url":"https://github.com/mockito/mockito"},{"name":"io.github.bonigarcia:selenium-jupiter","old_version":"5.1.1","new_version":"6.3.1","repository_url":"https://github.com/bonigarcia/selenium-jupiter"},{"name":"io.github.bonigarcia:webdrivermanager","old_version":"5.7.0","new_version":"6.3.2","repository_url":"https://github.com/bonigarcia/webdrivermanager"},{"name":"com.github.weisj:jsvg","old_version":"1.4.0","new_version":"2.0.0","repository_url":"https://github.com/weisJ/jsvg"},{"name":"org.cyclonedx.bom","old_version":"2.2.0","new_version":"3.0.1"},{"name":"com.github.ben-manes.versions","old_version":"0.52.0","new_version":"0.53.0"},{"name":"net.ltgt.errorprone","old_version":"4.1.0","new_version":"4.3.0"},{"name":"io.freefair.lombok","old_version":"8.12.2","new_version":"9.0.0","repository_url":"https://github.com/freefair/gradle-plugins"},{"name":"org.sonarqube","old_version":"4.3.0.3225","new_version":"6.3.1.5724"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 51 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.36.0` | `2.42.0` |\n| [biz.aQute.bnd:biz.aQute.bnd.annotation](https://github.com/bndtools/bnd) | `6.4.1` | `7.1.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.2` | `1.21.2` |\n| [com.infradna.tool:bridge-method-annotation](https://github.com/infradna/bridge-method-injector) | `1.18` | `1.24` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.303` | `1.330` |\n| [com.github.spotbugs:spotbugs-annotations](https://github.com/spotbugs/spotbugs) | `3.1.12` | `4.9.6` |\n| org.apache.commons:commons-collections4 | `4.4` | `4.5.0` |\n| [org.apache.commons:commons-csv](https://github.com/apache/commons-csv) | `1.10.0` | `1.14.1` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.16.1` | `2.20.0` |\n| [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `2.19.1` | `2.20.0` |\n| [org.datanucleus:datanucleus-accessplatform-jdo-rdbms](https://github.com/datanucleus/datanucleus-accessplatform) | `6.0.7` | `6.0.10` |\n| [org.flywaydb:flyway-core](https://github.com/flyway/flyway) | `9.22.3` | `11.14.0` |\n| [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) | `3.45.3.0` | `3.50.3.0` |\n| [de.sstoehr:har-reader](https://github.com/sdstoehr/har-reader) | `3.1.4` | `4.0.0` |\n| [io.hektor:hektor-fsm](https://github.com/sniceio/hektor) | `0.0.5` | `0.0.8` |\n| [com.github.curious-odd-man:rgxgen](https://github.com/curious-odd-man/RgxGen) | `2.0` | `3.1` |\n| [com.natpryce:snodge](https://github.com/npryce/snodge) | `2.1.2.2` | `3.7.0.0` |\n| [org.codehaus.groovy:groovy-all](https://github.com/apache/groovy) | `3.0.14` | `3.0.25` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.61.1` | `1.76.0` |\n| org.jruby:jruby-complete | `1.7.4` | `9.4.14.0` |\n| [org.python:jython-standalone](https://github.com/jython/jython) | `2.7.2` | `2.7.4` |\n| [dev.langchain4j:langchain4j](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-azure-open-ai](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-ollama](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [io.swagger.parser.v3:swagger-parser](https://github.com/swagger-api/swagger-parser) | `2.1.34` | `2.1.35` |\n| [org.htmlunit:htmlunit-csp](https://github.com/HtmlUnit/htmlunit-csp) | `4.0.0` | `4.17.0` |\n| [com.google.re2j:re2j](https://github.com/google/re2j) | `1.7` | `1.8` |\n| [org.xhtmlrenderer:flying-saucer-pdf](https://github.com/flyingsaucerproject/flyingsaucer) | `9.3.1` | `9.13.3` |\n| org.thymeleaf:thymeleaf | `3.1.2.RELEASE` | `3.1.3.RELEASE` |\n| org.glassfish.jaxb:jaxb-runtime | `2.3.2` | `4.0.6` |\n| [net.bytebuddy:byte-buddy](https://github.com/raphw/byte-buddy) | `1.14.13` | `1.17.8` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.19.0` |\n| [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.36.0` |\n| [jakarta.xml.soap:jakarta.xml.soap-api](https://github.com/jakartaee/saaj-api) | `3.0.0` | `3.0.2` |\n| com.sun.xml.messaging.saaj:saaj-impl | `3.0.0` | `3.0.4` |\n| [com.predic8:soa-model-core](https://github.com/membrane/soa-model) | `2.0.1` | `2.2.0` |\n| [io.kaitai:kaitai-struct-runtime](https://github.com/kaitai-io/kaitai_struct_java_runtime) | `0.10` | `0.11` |\n| org.slf4j:jcl-over-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:jul-to-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:slf4j-log4j12 | `1.7.32` | `2.0.17` |\n| [org.hamcrest:hamcrest-library](https://github.com/hamcrest/JavaHamcrest) | `2.2` | `3.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.10.2` | `6.0.0` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.10.0` | `5.20.0` |\n| [io.github.bonigarcia:selenium-jupiter](https://github.com/bonigarcia/selenium-jupiter) | `5.1.1` | `6.3.1` |\n| [io.github.bonigarcia:webdrivermanager](https://github.com/bonigarcia/webdrivermanager) | `5.7.0` | `6.3.2` |\n| [com.github.weisj:jsvg](https://github.com/weisJ/jsvg) | `1.4.0` | `2.0.0` |\n| org.cyclonedx.bom | `2.2.0` | `3.0.1` |\n| com.github.ben-manes.versions | `0.52.0` | `0.53.0` |\n| net.ltgt.errorprone | `4.1.0` | `4.3.0` |\n| [io.freefair.lombok](https://github.com/freefair/gradle-plugins) | `8.12.2` | `9.0.0` |\n| org.sonarqube | `4.3.0.3225` | `6.3.1.5724` |\n\n\nUpdates `com.google.errorprone:error_prone_core` from 2.36.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.42.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExplicitArrayForVarargs\"\u003e\u003ccode\u003eExplicitArrayForVarargs\u003c/code\u003e\u003c/a\u003e: discourage unnecessary explicit construction of an array to provide varargs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/FloggerPerWithoutRateLimit\"\u003e\u003ccode\u003eFloggerPerWithoutRateLimit\u003c/code\u003e\u003c/a\u003e: discourage Flogger's \u003ccode\u003eperUnique\u003c/code\u003e without rate limiting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/StringJoin\"\u003e\u003ccode\u003eStringJoin\u003c/code\u003e\u003c/a\u003e: Ban \u003ccode\u003eString.join(CharSequence)\u003c/code\u003e and \u003ccode\u003eString.join(CharSequence, CharSequence)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThreadBuilderNameWithPlaceholder\"\u003e\u003ccode\u003eThreadBuilderNameWithPlaceholder\u003c/code\u003e\u003c/a\u003e: Do not allow placeholders in \u003ccode\u003eThread.Builder.name(String)\u003c/code\u003e or \u003ccode\u003ename(String, int)\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe return type of \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e has changed. The previous type was \u003ccode\u003eEnumSet\u0026lt;Flags.Flag\u0026gt;\u003c/code\u003e, where \u003ccode\u003eFlags.Flag\u003c/code\u003e is an enum in the javac class \u003ccode\u003eFlags\u003c/code\u003e. A recent JDK change has replaced that enum with a new top-level enum called \u003ccode\u003eFlagsEnum\u003c/code\u003e. It is not possible to change \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e in a way that would be type-safe and compatible with the enums from JDKs both before and after the change. Instead, the method now returns \u003ccode\u003eImmutableSet\u0026lt;String\u0026gt;\u003c/code\u003e, where the strings come from the \u003ccode\u003etoString()\u003c/code\u003e of the enum constants. That means they are \u003ccode\u003e\u0026quot;native\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;abstract\u0026quot;\u003c/code\u003e, etc.\u003c/li\u003e\n\u003cli\u003eFlag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ca href=\"https://errorprone.info/bugpattern/SystemOut\"\u003e\u003ccode\u003eSystemOut\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.41.0...v2.42.0\"\u003ehttps://github.com/google/error-prone/compare/v2.41.0...v2.42.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.41.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/EffectivelyPrivate\"\u003eEffectivelyPrivate\u003c/a\u003e: Detect declarations that have \u003ccode\u003epublic\u003c/code\u003e or \u003ccode\u003eprotected\u003c/code\u003e modifiers, but are effectively private\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip BooleanLiteral findings if the target type is boxed (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5134\"\u003e#5134\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.40.0...v2.41.0\"\u003ehttps://github.com/google/error-prone/compare/v2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.40.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and improvements\u003c/li\u003e\n\u003cli\u003eReleases (including snapshots) have migrated from \u003ca href=\"https://central.sonatype.org/pages/ossrh-eol/#process-to-migrate\"\u003eOSSRH to the Central Publisher Portal\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.39.0...v2.40.0\"\u003ehttps://github.com/google/error-prone/compare/v2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.39.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTemporarily downgrade to Guava 33.4.0 (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5108\"\u003e#5108\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChecks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BooleanLiteral\"\u003e\u003ccode\u003eBooleanLiteral\u003c/code\u003e\u003c/a\u003e: Prefer \u003ccode\u003etrue\u003c/code\u003e to \u003ccode\u003eBoolean.TRUE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExpensiveLenientFormatString\"\u003e\u003ccode\u003eExpensiveLenientFormatString\u003c/code\u003e\u003c/a\u003e: Renamed from \u003ccode\u003ePreconditionsExpensiveString\u003c/code\u003e, detects unnecessary calls to \u003ccode\u003eString.format\u003c/code\u003e in the arguments of lenient formatting methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/UnnecessaryQualifier\"\u003e\u003ccode\u003eUnnecessaryQualifier\u003c/code\u003e\u003c/a\u003e: Detects \u003ccode\u003e@Qualifier\u003c/code\u003e or \u003ccode\u003e@BindingAnnotation\u003c/code\u003e annotations that have no effect, and can be removed\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/4996\"\u003e#4996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5045\"\u003e#5045\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.38.0...v2.39.0\"\u003ehttps://github.com/google/error-prone/compare/v2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.38.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/google/error-prone/commit/52b61801ceacc31be26261a14e4eb95bee68cdd8\"\u003e\u003ccode\u003e52b6180\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/691c64a24ac430fa26a69ff3ae62fdba0346e0df\"\u003e\u003ccode\u003e691c64a\u003c/code\u003e\u003c/a\u003e Flag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ccode\u003eSystemOut\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/0b751cd69ac278d63686a776cd55a067b7bff7ae\"\u003e\u003ccode\u003e0b751cd\u003c/code\u003e\u003c/a\u003e ExpicitArrayForVarargs: flag unnecessary explicit construction of an array to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/982fe208c273cc82e838efbbc9c001b857cd239e\"\u003e\u003ccode\u003e982fe20\u003c/code\u003e\u003c/a\u003e Tweak links to point to newer versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a2df97f0d3842e1d45f26bf085a3a95f273346be\"\u003e\u003ccode\u003ea2df97f\u003c/code\u003e\u003c/a\u003e [StatementSwitchToExpressionSwitch] fix bug where \u003ccode\u003ecase null\u003c/code\u003e can sometimes b...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/e691be588c891d4fc10cb41f019960accd21db2d\"\u003e\u003ccode\u003ee691be5\u003c/code\u003e\u003c/a\u003e Fix (behind a flag) a silly bug in RedundantSetterCall.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/ce1a422f3f92a9a9c6434a9e0e00df5ce9877df2\"\u003e\u003ccode\u003ece1a422\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eDurations.wait()\u003c/code\u003e to \u003ccode\u003eWaitMatchers.waitMethodWithTimeout\u003c/code\u003e (and make them...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da03fea47dd31b1a63932d78f3d91fb383cce8d1\"\u003e\u003ccode\u003eda03fea\u003c/code\u003e\u003c/a\u003e Update MethodCanBeStatic to be able to detect and trigger on Guice \u003ca href=\"https://github.com/Provides\"\u003e\u003ccode\u003e@​Provides\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/83e6582d6333d2e2d5e5f2f279c630d54ae65fae\"\u003e\u003ccode\u003e83e6582\u003c/code\u003e\u003c/a\u003e RedundantSetterCall: note that setFooValue and setFooBytes can be aliases for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/db62c8c27ec5984058788547958f2f7c8d1bee95\"\u003e\u003ccode\u003edb62c8c\u003c/code\u003e\u003c/a\u003e Automated rollback of commit e1b16e24461d90f2b11f8213a68bfccc0426d4f3.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.36.0...v2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `biz.aQute.bnd:biz.aQute.bnd.annotation` from 6.4.1 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/bndtools/bnd/releases\"\u003ebiz.aQute.bnd:biz.aQute.bnd.annotation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBnd/Bndtools 7.1.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.1.0\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBnd/Bndtools 7.0.0\u003c/h2\u003e\n\u003cp\u003eThis is the first release on Java 17.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.0.0\"\u003eRelease Notes\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/bndtools/bnd/commit/47e504d7881ba466703c55a8dca7b0578561582d\"\u003e\u003ccode\u003e47e504d\u003c/code\u003e\u003c/a\u003e Build Release 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/c3ff1490e5a2d72336e28920711ec0d024c4a801\"\u003e\u003ccode\u003ec3ff149\u003c/code\u003e\u003c/a\u003e build: Build release 7.1.0.RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/2fc3187b1be2e04e78e4056b6c2efae406646b5b\"\u003e\u003ccode\u003e2fc3187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6363\"\u003e#6363\u003c/a\u003e from laeubi/process_with_conditional_package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/cd347e1202077e625bbdd5dadc158adb49e504db\"\u003e\u003ccode\u003ecd347e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6365\"\u003e#6365\u003c/a\u003e from bndtools/dependabot/github_actions/ruby/setup-r...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/9aa57efecc7e026646e279307d23ea5edb089e57\"\u003e\u003ccode\u003e9aa57ef\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.201.0 to 1.202.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/ec0fea78a246e66430db06e0e8ad0423ffb59dc2\"\u003e\u003ccode\u003eec0fea7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6361\"\u003e#6361\u003c/a\u003e from bndtools/dependabot/github_actions/github/codeq...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/396262634e86aad490df4b43150f3c903c60973f\"\u003e\u003ccode\u003e3962626\u003c/code\u003e\u003c/a\u003e Add testcase for conditional packages with bnd-process\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/fe9a874b3be6e6c2d86625afa55985d1b89c6199\"\u003e\u003ccode\u003efe9a874\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.27.0 to 3.27.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/e3c95f878d3266b872d5ce3ea81b07e8a99e3f8e\"\u003e\u003ccode\u003ee3c95f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6360\"\u003e#6360\u003c/a\u003e from pkriens/issue/6346-gradle-reference-to-project-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/aac92718e6b5021548ff6782871a1841f041eee5\"\u003e\u003ccode\u003eaac9271\u003c/code\u003e\u003c/a\u003e Added a method to get the Macro references from a Processor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bndtools/bnd/compare/6.4.1...7.1.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.17.2 to 1.21.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup 1.21.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.2\u003c/strong\u003e is out now, adding support for custom \u003ccode\u003eSSLContext\u003c/code\u003e in HTTP/2 connections, and improving consistency in how user data is handled in attributes. It also brings performance gains in DOM manipulation and fragment parsing, and fixes several edge cases in stream parsing, traversal, cloning, and concurrent reads.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ejsoup 1.21.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.1\u003c/strong\u003e is out now, featuring powerful new node selection capabilities that let you target specific DOM nodes like comments and text nodes using CSS selectors, dynamic tag customization through the new TagSet callback system, and improved defense against mutation XSS attacks with simplified attribute escaping. This release also brings HTTP/2 support by default, numerous API improvements for better developer experience, and fixes for several edge-case parsing issues.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; type)\u003c/code\u003e method instead. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull(Object)\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull(T)\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; nodeType)\u003c/code\u003e for direct node selection. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2330\"\u003e#2330\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection.Response#readBody()\u003c/code\u003e over \u003ccode\u003eConnection.Response#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\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\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.21.2 (2025-Aug-25)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.1 (2025-Jun-23)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class type)\u003c/code\u003e method instead. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class nodeType)\u003c/code\u003e for direct node selection. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace).\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection#readBody()\u003c/code\u003e over \u003ccode\u003eConnection#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe contents of a \u003ccode\u003escript\u003c/code\u003e in a \u003ccode\u003esvg\u003c/code\u003e foreign context should be parsed as script data, not text. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2320\"\u003e#2320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTag#isFormSubmittable()\u003c/code\u003e was updating the Tag's options. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2323\"\u003e#2323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML pretty-printer would incorrectly trim whitespace when text followed an inline element in a block element. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2325\"\u003e#2325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom tags with hyphens or other non-letter characters in their names now work correctly as Data or RcData tags. Their closing tags are now tokenized properly. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2332\"\u003e#2332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen cloning an Element, the clone would retain the source's cached child Element list (if any), which could lead to incorrect results when modifying the clone's child elements. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2334\"\u003e#2334\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/b02837b6c77b94799c055f8fa446fb770bfb49f1\"\u003e\u003ccode\u003eb02837b\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.21.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1f0c2070e78b5d171c4e5896930c612c58474608\"\u003e\u003ccode\u003e1f0c207\u003c/code\u003e\u003c/a\u003e v1.21.2 release date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/b0934637750ed6ddd91bf344842c8c5aad1fb70f\"\u003e\u003ccode\u003eb093463\u003c/code\u003e\u003c/a\u003e Use central-publishing-maven-plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/615b9592ffe8e65b4e461f7727081995931154ce\"\u003e\u003ccode\u003e615b959\u003c/code\u003e\u003c/a\u003e Updating sonatype deploy URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/69617205f80df06acf2adb38fd8a19f3724b6845\"\u003e\u003ccode\u003e6961720\u003c/code\u003e\u003c/a\u003e Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2386\"\u003e#2386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/82864b246c0005cc66a50daede3568f930504030\"\u003e\u003ccode\u003e82864b2\u003c/code\u003e\u003c/a\u003e Bump jetty.version from 9.4.57.v20241219 to 9.4.58.v20250814 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2385\"\u003e#2385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/71f963ea3a78746fc2a3ba80b2843254b35c211a\"\u003e\u003ccode\u003e71f963e\u003c/code\u003e\u003c/a\u003e Fix for HTML that breaks the select scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/6b20f6e3d158d1ce3147c4e9306d9b485e083bf4\"\u003e\u003ccode\u003e6b20f6e\u003c/code\u003e\u003c/a\u003e Removed effective recursion closing \u003ccode\u003e\\\u0026lt;/select\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/eb2957a8b3e8c12649c5b83872a238dd74e68dec\"\u003e\u003ccode\u003eeb2957a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2382\"\u003e#2382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/3a9a6c7c8a67d51ebbb598495496e28dcd0c18e1\"\u003e\u003ccode\u003e3a9a6c7\u003c/code\u003e\u003c/a\u003e Fix ProxyTest in CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.17.2...jsoup-1.21.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.infradna.tool:bridge-method-annotation` from 1.18 to 1.24\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/90b05fc5d86b8e9362bbb31ccc37b28abdc67e52\"\u003e\u003ccode\u003e90b05fc\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1e3123cf4feaa612e6aa77ccf1a12cfd61a473a9\"\u003e\u003ccode\u003e1e3123c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/29\"\u003e#29\u003c/a\u003e from basil/asm-9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/c89b1025f3a4808e3d03a8a84b3f4ece06b96bf1\"\u003e\u003ccode\u003ec89b102\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.2 to 9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a60c63572dbb7a1d1aa91b5fbb0866517db88836\"\u003e\u003ccode\u003ea60c635\u003c/code\u003e\u003c/a\u003e Replaced by README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/8a5b5e9c6d5036aa492e43d3552b40cba07e5d8b\"\u003e\u003ccode\u003e8a5b5e9\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/677782c5cd7b3df04755b6f515c184748b019770\"\u003e\u003ccode\u003e677782c\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/jenkinsci/bridge-method-injector/commit/4682998f65e92142b9b3b185c63eb40ea0ed8c07\"\u003e\u003ccode\u003e4682998\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a2c094ff373921db7d71551d8f3fcd868c56e467\"\u003e\u003ccode\u003ea2c094f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/27\"\u003e#27\u003c/a\u003e from basil/asm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/cd1a8efd21354ac75447e338eee3298b7aa2386a\"\u003e\u003ccode\u003ecd1a8ef\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.0 to 9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1567095d18f443e5cbeb4593520f6fc0345b32fb\"\u003e\u003ccode\u003e1567095\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/infradna/bridge-method-injector/compare/bridge-method-injector-parent-1.18...bridge-method-injector-parent-1.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.kohsuke:github-api` from 1.303 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.303...github-api-1.330\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.spotbugs:spotbugs-annotations` from 3.1.12 to 4.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spotbugs/spotbugs/releases\"\u003ecom.github.spotbugs:spotbugs-annotations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.6\u003c/h2\u003e\n\u003cp\u003eSpotBugs 4.9.6\u003c/p\u003e\n\u003ch3\u003eCHANGELOG\u003c/h3\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e method calls (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCHECKSUM\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003efile\u003c/th\u003e\n\u003cth\u003echecksum (sha256)\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003eb4b9373ad6f22ad2547a8274501f87b01e2428c30aabaea3aeec3f9095636e24\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e89687b6e685c9a07f7faf49f29b832fb861884f2160947eb4396498cdbb33cc4\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6.tgz\u003c/td\u003e\n\u003ctd\u003e55aa9b9e3deef0391be285335dcf134d1ce54aae222bba1da757eaa616108957\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6.zip\u003c/td\u003e\n\u003ctd\u003e86fb3f93c4147383f76fe21ab2807956b34cf17108a42a76311efa4977f952cc\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e4c9f8027f6a2313ef22347f4832e5dccc9c58d350d1bd5bff4d5a53f37e1c220\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e075b2eed660c2fe2fb1ad1de028f8fdff5f358e25c1318706b95ab17bb28be44\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations.jar\u003c/td\u003e\n\u003ctd\u003e523d394a6b36174ad0a22f0c1c75b105ccff42869a8b7ce86e7fd339ca6f86ce\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e9b510af8cd3a5c62560fe544b730ebf44cbb109e085fe526add155258612273c\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e91477d93b1fd1bebae35d318427b5238fb458e726478dc1a8ac41ce74838a1e6\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant.jar\u003c/td\u003e\n\u003ctd\u003e22f2fa397e86663adcd4828cc1c91e63aa6cc2bfc56832885b749a86fac5c784\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs.jar\u003c/td\u003e\n\u003ctd\u003e62a0def31899338200fc9013b4db8a8aedfc3536ca7d70d59038b092dfaa6819\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003ebdcef7587312fb9a85d0d292623ea1a779bfe8b9a5e321d73bb8ad92ce79ed0a\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e805d2d124b0d4ea513ee9262d4ad6027c3471d45defd80fd7d20e23425d17df7\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e0076a3bc9602c78d73edb048e625a96ee6a182fa3dd39300aa739af67b954189\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e7d7a7d6944e7199e06384104b163c11145ed60dd567fefd9b788f3ac03770e18\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e656579431db1b2714faeeca3c3d59426e2ffdfdb0725546b4090f993d2413eeb\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e66db286ae1dd056458c1e0303a8e2f81fe95a2c5d2888172a3ed17e993434bf1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e8925836d7d1198ec223c4ff5118fd596278df4157d910eb767f7f312a7df8904\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e59bbb8581ed4bdd212a669d94ec363b6c1d6df9276a608359c66d7f0c1688279\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e0582a99bdc66e24c7e36753014729149189fd27129ec5a2f38a8d67457bc9696\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSpotBugs 4.9.5\u003c/h2\u003e\n\u003ch3\u003eCHANGELOG\u003c/h3\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix for an error when a record method has the \u003ccode\u003e@SuppressFBWarnings\u003c/code\u003e annotation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3622\"\u003e#3622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSF_SWITCH_FALLTHROUGH\u003c/code\u003e false positive when continuing a loop (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCWO_CLOSED_WITHOUT_OPENED\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSF_SWITCH_NO_DEFAULT\u003c/code\u003e false positive fix for switch-arrow (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the issue with BCEL logging \u003ccode\u003eDuplicating value: ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing jakarta support for servlets / pre/post destroy (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3694\"\u003e#3694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'java.nio.file.Path.of' to known types for path traversal checks (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3699\"\u003e#3699\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCleanup\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eS1481: Unused local variables should be removed (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3654\"\u003e#3654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved test libraries to jakarta namespace including switching off jsr305 where possible for jakarta.annotatoin (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3695\"\u003e#3695\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCHECKSUM\u003c/h3\u003e\n\u003cp\u003e| file | checksum (sha256) |\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/spotbugs/spotbugs/blob/master/CHANGELOG.md\"\u003ecom.github.spotbugs:spotbugs-annotations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.6 - 2025-09-16\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e method calls (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.5 - 2025-09-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix for an error when a record method has the \u003ccode\u003e@SuppressFBWarnings\u003c/code\u003e annotation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3622\"\u003e#3622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSF_SWITCH_FALLTHROUGH\u003c/code\u003e false positive when continuing a loop (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCWO_CLOSED_WITHOUT_OPENED\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSF_SWITCH_NO_DEFAULT\u003c/code\u003e false positive fix for switch-arrow (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the issue with BCEL logging \u003ccode\u003eDuplicating value: ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing jakarta support for servlets / pre/post destroy (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3694\"\u003e#3694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'java.nio.file.Path.of' to known types for path traversal checks (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3699\"\u003e#3699\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCleanup\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eS1481: Unused local variables should be removed (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3654\"\u003e#3654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved test libraries to jakarta namespace including switching off jsr305 where possible for jakarta.annotatoin (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3695\"\u003e#3695\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.4 - 2025-08-07\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAnnotationMatcher\u003c/code\u003e can now ignore bugs if annotation is also applied on methods or fields. Previously only annotations on classes were considered.\u003c/li\u003e\n\u003cli\u003eAdd relevant CWE ids to bugs and refer the CWEs in the bug messages (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3354\"\u003e#3354\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eLOCAL_VARIABLE_UNKNOWN\u003c/code\u003e with exact method name for \u003ccode\u003eNP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3485\"\u003e#3485\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWiden main method recognition according to \u003ca href=\"https://openjdk.org/jeps/445\"\u003eJEP 445\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3371\"\u003e#3371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eUS_USELESS_SUPPRESSION_ON_*\u003c/code\u003e on methods, fields, parameters, packages or classes with an \u003ccode\u003e*.Generated\u003c/code\u003e annotation with retention \u0026gt;= class (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3350\"\u003e#3350\u003c/a\u003e)(\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3409\"\u003e#3409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite some member in \u003ccode\u003eResourceValueFrame.java\u003c/code\u003e to Enum (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/2061\"\u003e#2061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore non-interpreted text when looking for \u003ccode\u003eFS_BAD_DATE_FORMAT_FLAG_COMBO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3387\"\u003e#3387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix IllegalArgumentException thrown from \u003ccode\u003eFindNoSideEffectMethods\u003c/code\u003e detector (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3320\"\u003e#3320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eRV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT\u003c/code\u003e when part of a Mockito \u003ccode\u003edoAnswer()\u003c/code\u003e, \u003ccode\u003edoCallRealMethod()\u003c/code\u003e, \u003ccode\u003edoNothing()\u003c/code\u003e, \u003ccode\u003edoThrow()\u003c/code\u003e or \u003ccode\u003edoReturn()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3334\"\u003e#3334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eCT_CONSTRUCTOR_THROW\u003c/code\u003e false positive with public and private constructors in specific order of methods (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3417\"\u003e#3417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e, \u003ccode\u003eAT_NONATOMIC_64BIT_PRIMITIVE\u003c/code\u003e and \u003ccode\u003eAT_STALE_THREAD_WRITE_OF_PRIMITIVE\u003c/code\u003e FP when the relevant code is in private method, which is only called with proper synchronization (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3428\"\u003e#3428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eRV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT\u003c/code\u003e when part of a BDDMockito call (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3441\"\u003e#3441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e when field of a local variable is set. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3459\"\u003e#3459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e FP when there was no compound operation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3363\"\u003e#3363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eNM_FIELD_NAMING_CONVENTION\u003c/code\u003e crash in the TestASM detector (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3489\"\u003e#3489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR\u003c/code\u003e for fields initialized in JUnit 3/4 \u003ccode\u003esetUp()\u003c/code\u003e method. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3169\"\u003e#3169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eUS_USELESS_SUPPRESSION_ON_FIELD\u003c/code\u003e/\u003ccode\u003eUUF_UNUSED_FIELD\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3496\"\u003e#3496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake the osgi manifest of the annotations jar Java 8 compatible  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3498\"\u003e#3498\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3500\"\u003e#3500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextUICommandLine\u003c/code\u003e supports all options encoded in Eclipse preferences file (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3520\"\u003e#3520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnnecessary suppressions fix for records headers (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3471\"\u003e#3471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDead store fix when switch case contains loops  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3530\"\u003e#3530\u003c/a\u003e)  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3449\"\u003e#3449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider PUTFIELD and PUTSTATIC when looking for assertions with side effects (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3463\"\u003e#3463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect cases when equals() unconditionally returns true or false (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3528\"\u003e#3528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report that an Iterator does not throw \u003ccode\u003eNoSuchElementException\u003c/code\u003e when \u003ccode\u003ehasNext()\u003c/code\u003e returns true (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3501\"\u003e#3501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect random value cast to int when stored in temporary variable (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3461\"\u003e#3461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLook for interfaces default methods when searching uncalled private methods (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/1988\"\u003e#1988\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/spotbugs/spotbugs/commit/aa3a737bc82090dd8060524fe3e2498350e7cfd7\"\u003e\u003ccode\u003eaa3a737\u003c/code\u003e\u003c/a\u003e release v4.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/7d37faa40ea11e119272f9ce1fc85428ed3c85b4\"\u003e\u003ccode\u003e7d37faa\u003c/code\u003e\u003c/a\u003e chore(build): Temporarily remove the publish part\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/923f053467d889fdb2dcfbfb95b868458a6e2961\"\u003e\u003ccode\u003e923f053\u003c/code\u003e\u003c/a\u003e chore(docs): Minor syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/d662709773b1c1974f4582de2f278f497ce2b59d\"\u003e\u003ccode\u003ed662709\u003c/code\u003e\u003c/a\u003e chore(build): Rework the bin/hub to gh replacement\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/95470b84584a2652593d8a93c601c0a6d8577733\"\u003e\u003ccode\u003e95470b8\u003c/code\u003e\u003c/a\u003e prepare for next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/71e370669e8798898fe4214b0ec30ccb1d31aafb\"\u003e\u003ccode\u003e71e3706\u003c/code\u003e\u003c/a\u003e release v4.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/68013c09022410cf67a2eb1c2f50164925cbe431\"\u003e\u003ccode\u003e68013c0\u003c/code\u003e\u003c/a\u003e chore(Build): Rename as yaml extensions, use gh, and update conf versions (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/9f0ec1211acac3218e3a733bad55ce2c2337541e\"\u003e\u003ccode\u003e9f0ec12\u003c/code\u003e\u003c/a\u003e chore: Use proper import (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3716\"\u003e#3716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/6f81754c8548c2da9200773ed15e4bb142f18417\"\u003e\u003ccode\u003e6f81754\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin com.gradle.develocity to v4.2 (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3714\"\u003e#3714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/1f1fd68eda09bd93f0ad65611a5d2bfe503f6121\"\u003e\u003ccode\u003e1f1fd68\u003c/code\u003e\u003c/a\u003e Fix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spotbugs/spotbugs/compare/3.1.12...4.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.commons:commons-collections4` from 4.4 to 4.5.0\n\nUpdates `org.apache.commons:commons-csv` from 1.10.0 to 1.14.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-csv/blob/master/RELEASE-NOTES.txt\"\u003eorg.apache.commons:commons-csv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons CSV 1.14.1 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons CSV team is pleased to announce the release of Apache Commons CSV 1.14.1.\u003c/p\u003e\n\u003cp\u003eThis document contains the release notes for the 1.14.1 version of Apache Commons CSV.\nCommons CSV reads and writes files in Comma Separated Value (CSV) format variations.\u003c/p\u003e\n\u003cp\u003eCommons CSV requires at least Java 8.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003cp\u003eChanges in this version include:\u003c/p\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCSV-318:  CSVPrinter.printRecord(Stream) hangs if given a parallel stream. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCSV-318:  CSVPrinter now uses an internal lock instead of synchronized methods. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      org.apache.commons.csv.CSVPrinter.printRecords(ResultSet) now writes one record at a time using a lock. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-parent from 81 to 85 [#542](https://github.com/apache/commons-csv/issues/542). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-io:commons-io from 2.18.0 to 2.20.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump com.opencsv:opencsv from 5.10 to 5.11.2 [#545](https://github.com/apache/commons-csv/issues/545), [#551](https://github.com/apache/commons-csv/issues/551), [#553](https://github.com/apache/commons-csv/issues/553). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 [#556](https://github.com/apache/commons-csv/issues/556). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-codec:commons-codec from 1.18.0 to 1.19.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHistorical list of changes: \u003ca href=\"https://commons.apache.org/proper/commons-csv/changes.html\"\u003ehttps://commons.apache.org/proper/commons-csv/changes.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFor complete information on Apache Commons CSV, including instructions on how to submit bug reports,\npatches, or suggestions for improvement, see the Apache Commons CSV website:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://commons.apache.org/proper/commons-csv/\"\u003ehttps://commons.apache.org/proper/commons-csv/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDownload page: \u003ca href=\"https://commons.apache.org/proper/commons-csv/download_csv.cgi\"\u003ehttps://commons.apache.org/proper/commons-csv/download_csv.cgi\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eHave fun!\n-Apache Commons CSV team\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eApache Commons CSV 1.14.0 Release Notes\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/apache/commons-csv/commit/e14ef86d34211f9d1b9b6040c5f6dbafc93ba907\"\u003e\u003ccode\u003ee14ef86\u003c/code\u003e\u003c/a\u003e Ignore macOS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/d8724bf76a7d6abbb93aad65e316f050f86a256d\"\u003e\u003ccode\u003ed8724bf\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.14.1 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b76971c25af176f901c003b25d6a5f4f6edc87ad\"\u003e\u003ccode\u003eb76971c\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b66814ef248186b7a8316b85e1208c705dba06e3\"\u003e\u003ccode\u003eb66814e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/apache/commons-csv/issues/557\"\u003e#557\u003c/a\u003e from apache/dependabot/github_actions/github/codeql-a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/9c95e92d6aaa4d052a139158a900395646c6652e\"\u003e\u003ccode\u003e9c95e92\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.29.2 to 3.29.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/1fb37163f9fe59aa13c63efd53e71d7a0392be4c\"\u003e\u003ccode\u003e1fb3716\u003c/code\u003e\u003c/a\u003e Bump commons-codec:commons-codec from 1.18.0 to 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/7b72c509f73e05ca2bf2f0945a6a1cb03f87bd39\"\u003e\u003ccode\u003e7b72c50\u003c/code\u003e\u003c/a\u003e Merge some string literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/96583732b6be55d459a5b430c4a3a3bb2126db10\"\u003e\u003ccode\u003e9658373\u003c/code\u003e\u003c/a\u003e Update the GitHub pull request template for AI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/67192a9e0af58bdf49edf4e0d29f50343da82c70\"\u003e\u003ccode\u003e67192a9\u003c/code\u003e\u003c/a\u003e Bump commons-io:comm...\n\n_Description has been truncated_","html_url":"https://github.com/ricekot/zap-extensions/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricekot%2Fzap-extensions/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"},{"uuid":"2890544405","node_id":"PR_kwDOLkCPtM6sSjUV","number":61,"state":"open","title":"build(deps): bump the maven-dependencies group across 1 directory with 45 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-06T14:38:53.000Z","updated_at":"2025-10-06T14:38:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven-dependencies","update_count":45,"packages":[{"name":"org.jetbrains.kotlin.android","old_version":"2.1.20","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.1.20","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"plugin.serialization","old_version":"2.1.20","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.mikepenz:aboutlibraries-core","old_version":"12.0.1","new_version":"12.2.4","repository_url":"https://github.com/mikepenz/AboutLibraries"},{"name":"com.mikepenz.aboutlibraries.plugin","old_version":"12.0.1","new_version":"12.2.4"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.11.0"},{"name":"androidx.activity:activity-ktx","old_version":"1.10.1","new_version":"1.11.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.biometric:biometric","old_version":"1.4.0-alpha03","new_version":"1.4.0-alpha04"},{"name":"androidx.browser:browser","old_version":"1.8.0","new_version":"1.9.0"},{"name":"androidx.compose:compose-bom","old_version":"2025.04.01","new_version":"2025.09.01"},{"name":"androidx.core:core-ktx","old_version":"1.16.0","new_version":"1.17.0"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.4","new_version":"1.1.7"},{"name":"androidx.test.espresso:espresso-core","old_version":"3.6.1","new_version":"3.7.0"},{"name":"androidx.fragment:fragment-ktx","old_version":"1.8.6","new_version":"1.8.9"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"androidx.lifecycle:lifecycle-livedata-ktx","old_version":"2.8.7","new_version":"2.9.4"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.8.7","new_version":"2.9.4"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.7","new_version":"2.9.4"},{"name":"androidx.lifecycle:lifecycle-viewmodel-ktx","old_version":"2.8.7","new_version":"2.9.4"},{"name":"androidx.compose.material3:material3","old_version":"1.4.0-alpha13","new_version":"1.5.0-alpha04"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.4.0-alpha13","new_version":"1.5.0-alpha04"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.8.0","new_version":"1.9.2"},{"name":"androidx.compose.ui:ui","old_version":"1.8.0","new_version":"1.9.2"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.8.0","new_version":"1.9.2"},{"name":"androidx.compose.ui:ui-tooling-preview","old_version":"1.8.0","new_version":"1.9.2"},{"name":"androidx.compose.ui:ui-graphics","old_version":"1.8.0","new_version":"1.9.2"},{"name":"io.coil-kt.coil3:coil","old_version":"3.1.0","new_version":"3.3.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-network-okhttp","old_version":"3.1.0","new_version":"3.3.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"org.apache.commons:commons-compress","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/apache/commons-compress"},{"name":"commons-io:commons-io","old_version":"2.19.0","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.google.firebase:firebase-bom","old_version":"33.13.0","new_version":"34.3.0"},{"name":"org.kohsuke:github-api","old_version":"1.327","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.google.gms:google-services","old_version":"4.4.2","new_version":"4.4.3"},{"name":"com.google.code.gson:gson","old_version":"2.13.1","new_version":"2.13.2","repository_url":"https://github.com/google/gson"},{"name":"org.jsoup:jsoup","old_version":"1.19.1","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.tencent.kona:kona-crypto","old_version":"1.0.17","new_version":"1.0.18","repository_url":"https://github.com/Tencent/TencentKonaSMSuite"},{"name":"com.tencent.kona:kona-provider","old_version":"1.0.17","new_version":"1.0.18","repository_url":"https://github.com/Tencent/TencentKonaSMSuite"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.8.1","new_version":"1.9.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"com.google.android.material:material","old_version":"1.13.0-alpha12","new_version":"1.14.0-alpha05","repository_url":"https://github.com/material-components/material-components-android"},{"name":"org.apache.maven:maven-artifact","old_version":"3.9.9","new_version":"3.9.11"},{"name":"com.squareup.okhttp3:okhttp","old_version":"4.12.0","new_version":"5.1.0","repository_url":"https://github.com/square/okhttp"},{"name":"com.airbnb.android:paris","old_version":"2.0.2","new_version":"2.1.0","repository_url":"https://github.com/airbnb/paris"},{"name":"androidx.activity:activity","old_version":"1.10.1","new_version":"1.11.0"},{"name":"com.android.application","old_version":"8.9.2","new_version":"8.13.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven-dependencies group with 45 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.2.20` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.2.20` |\n| [plugin.serialization](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.2.20` |\n| [com.mikepenz:aboutlibraries-core](https://github.com/mikepenz/AboutLibraries) | `12.0.1` | `12.2.4` |\n| com.mikepenz.aboutlibraries.plugin | `12.0.1` | `12.2.4` |\n| androidx.activity:activity-compose | `1.10.1` | `1.11.0` |\n| androidx.activity:activity-ktx | `1.10.1` | `1.11.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.biometric:biometric | `1.4.0-alpha03` | `1.4.0-alpha04` |\n| androidx.browser:browser | `1.8.0` | `1.9.0` |\n| androidx.compose:compose-bom | `2025.04.01` | `2025.09.01` |\n| androidx.core:core-ktx | `1.16.0` | `1.17.0` |\n| androidx.datastore:datastore-preferences | `1.1.4` | `1.1.7` |\n| androidx.test.espresso:espresso-core | `3.6.1` | `3.7.0` |\n| androidx.fragment:fragment-ktx | `1.8.6` | `1.8.9` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| androidx.lifecycle:lifecycle-livedata-ktx | `2.8.7` | `2.9.4` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.8.7` | `2.9.4` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.7` | `2.9.4` |\n| androidx.lifecycle:lifecycle-viewmodel-ktx | `2.8.7` | `2.9.4` |\n| androidx.compose.material3:material3 | `1.4.0-alpha13` | `1.5.0-alpha04` |\n| androidx.compose.material3:material3-window-size-class | `1.4.0-alpha13` | `1.5.0-alpha04` |\n| androidx.compose.runtime:runtime-livedata | `1.8.0` | `1.9.2` |\n| androidx.compose.ui:ui | `1.8.0` | `1.9.2` |\n| androidx.compose.ui:ui-tooling | `1.8.0` | `1.9.2` |\n| androidx.compose.ui:ui-tooling-preview | `1.8.0` | `1.9.2` |\n| androidx.compose.ui:ui-graphics | `1.8.0` | `1.9.2` |\n| [io.coil-kt.coil3:coil](https://github.com/coil-kt/coil) | `3.1.0` | `3.3.0` |\n| [io.coil-kt.coil3:coil-network-okhttp](https://github.com/coil-kt/coil) | `3.1.0` | `3.3.0` |\n| [org.apache.commons:commons-compress](https://github.com/apache/commons-compress) | `1.27.1` | `1.28.0` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.19.0` | `2.20.0` |\n| com.google.firebase:firebase-bom | `33.13.0` | `34.3.0` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.327` | `1.330` |\n| com.google.gms:google-services | `4.4.2` | `4.4.3` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.1` | `2.13.2` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.19.1` | `1.21.2` |\n| [com.tencent.kona:kona-crypto](https://github.com/Tencent/TencentKonaSMSuite) | `1.0.17` | `1.0.18` |\n| [com.tencent.kona:kona-provider](https://github.com/Tencent/TencentKonaSMSuite) | `1.0.17` | `1.0.18` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.8.1` | `1.9.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0-alpha12` | `1.14.0-alpha05` |\n| org.apache.maven:maven-artifact | `3.9.9` | `3.9.11` |\n| [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp) | `4.12.0` | `5.1.0` |\n| [com.airbnb.android:paris](https://github.com/airbnb/paris) | `2.0.2` | `2.1.0` |\n| androidx.activity:activity | `1.10.1` | `1.11.0` |\n| com.android.application | `8.9.2` | `8.13.0` |\n\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.20 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.1.20 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plugin.serialization` from 2.1.20 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eplugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eplugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.mikepenz:aboutlibraries-core` from 12.0.1 to 12.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mikepenz/AboutLibraries/releases\"\u003ecom.mikepenz:aboutlibraries-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.2.4\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the name nullability to organization. The name is absent in some …\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1205\"\u003e#1205\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/volic\"\u003e\u003ccode\u003e@​volic\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e12.2.3\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003efindLibraries\u003c/code\u003e task\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1199\"\u003e#1199\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e12.2.2\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert changes causing issues with Android builds\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1193\"\u003e#1193\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e12.2.1\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix android task configuration\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1187\"\u003e#1187\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e💬 Other\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor plugin to optimize configuration cache\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1185\"\u003e#1185\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e12.2.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake compose ui modules more flexible | Refine visualization | Compose update\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1172\"\u003e#1172\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/6af7405fb9963a59bd88c465d03011da16bb8cbc\"\u003e\u003ccode\u003e6af7405\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1207\"\u003e#1207\u003c/a\u003e from mikepenz/develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/fb6ca94c0cbc008557913d7a4aedb82942a40bc0\"\u003e\u003ccode\u003efb6ca94\u003c/code\u003e\u003c/a\u003e - [release] v12.2.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/d7ded4de3fa047248ab4241b3e409d52455290ea\"\u003e\u003ccode\u003ed7ded4d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1205\"\u003e#1205\u003c/a\u003e from volic/feature/fix_organization_name_nulability\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/446c016228013e859a1e1167a70464a855456dd1\"\u003e\u003ccode\u003e446c016\u003c/code\u003e\u003c/a\u003e - handle empty org name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/6d9cff7598ac5fce3ac74bff43c2c79bec1047fd\"\u003e\u003ccode\u003e6d9cff7\u003c/code\u003e\u003c/a\u003e - keep the name non null to not break integrations in apps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/c0f5ceafa1942f0625f28f39948ce409122e30ec\"\u003e\u003ccode\u003ec0f5cea\u003c/code\u003e\u003c/a\u003e Add the name nullability to organization. The name is absent in some librarie...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/a95930c10c48140ab352ff3f63225ff6fea97db1\"\u003e\u003ccode\u003ea95930c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1200\"\u003e#1200\u003c/a\u003e from mikepenz/develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/a3d0097a3afbc4455c4b3939938a98e0fec86ff4\"\u003e\u003ccode\u003ea3d0097\u003c/code\u003e\u003c/a\u003e - [release] v12.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/2901d4af1caa1c1da6949fa47a284dd2b17f8a1a\"\u003e\u003ccode\u003e2901d4a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1199\"\u003e#1199\u003c/a\u003e from mikepenz/fix/1197\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/9a62ca57acd2e7ba64bd38c3cfc42fb6c696a131\"\u003e\u003ccode\u003e9a62ca5\u003c/code\u003e\u003c/a\u003e - fix failure due to offline mode being set for tasks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mikepenz/AboutLibraries/compare/12.0.1...12.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.mikepenz.aboutlibraries.plugin` from 12.0.1 to 12.2.4\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.11.0\n\nUpdates `androidx.activity:activity-ktx` from 1.10.1 to 1.11.0\n\nUpdates `androidx.activity:activity-ktx` from 1.10.1 to 1.11.0\n\nUpdates `androidx.appcompat:appcompat` from 1.7.0 to 1.7.1\n\nUpdates `androidx.biometric:biometric` from 1.4.0-alpha03 to 1.4.0-alpha04\n\nUpdates `androidx.browser:browser` from 1.8.0 to 1.9.0\n\nUpdates `androidx.compose:compose-bom` from 2025.04.01 to 2025.09.01\n\nUpdates `androidx.core:core-ktx` from 1.16.0 to 1.17.0\n\nUpdates `androidx.datastore:datastore-preferences` from 1.1.4 to 1.1.7\n\nUpdates `androidx.test.espresso:espresso-core` from 3.6.1 to 3.7.0\n\nUpdates `androidx.fragment:fragment-ktx` from 1.8.6 to 1.8.9\n\nUpdates `androidx.test.ext:junit` from 1.2.1 to 1.3.0\n\nUpdates `androidx.lifecycle:lifecycle-livedata-ktx` from 2.8.7 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.7 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.8.7 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.8.7 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.7 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.8.7 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.8.7 to 2.9.4\n\nUpdates `androidx.compose.material3:material3` from 1.4.0-alpha13 to 1.5.0-alpha04\n\nUpdates `androidx.compose.material3:material3-window-size-class` from 1.4.0-alpha13 to 1.5.0-alpha04\n\nUpdates `androidx.compose.material3:material3-window-size-class` from 1.4.0-alpha13 to 1.5.0-alpha04\n\nUpdates `androidx.compose.runtime:runtime-livedata` from 1.8.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui` from 1.8.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-tooling` from 1.8.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.8.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-graphics` from 1.8.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-tooling` from 1.8.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.8.0 to 1.9.2\n\nUpdates `io.coil-kt.coil3:coil` from 3.1.0 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coil-kt/coil/releases\"\u003eio.coil-kt.coil3:coil's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#330---july-22-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320---may-13-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0-rc02\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320-rc02---april-26-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0-rc01\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320-rc01---april-24-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md\"\u003eio.coil-kt.coil3:coil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.3.0] - July 22, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eNew\u003c/strong\u003e: Introduce a new API to limit \u003ccode\u003eMemoryCache.maxSize\u003c/code\u003e on Android while the app is backgrounded.\n\u003cul\u003e\n\u003cli\u003eIf \u003ccode\u003eImageLoader.Builder.memoryCacheMaxSizePercentWhileInBackground\u003c/code\u003e is set, the \u003ccode\u003eImageLoader\u003c/code\u003e's memory cache will be limited to a percent of its max size while the app is backgrounded. This setting is currently disabled by default.\u003c/li\u003e\n\u003cli\u003eImages will be trimmed from the memory cache to reach the limited max size when the app is backgrounded, however the memory cache's weak references to recently trimmed images are unaffected. This means if an image is currently referenced elsewhere (e.g. \u003ccode\u003eAsyncImage\u003c/code\u003e, \u003ccode\u003eImageView\u003c/code\u003e, etc.) it will still be present in the memory cache.\u003c/li\u003e\n\u003cli\u003eThis API is useful to reduce background memory usage, keep your app from being killed earlier, and help reduce memory pressure on your users' devices.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew\u003c/strong\u003e: Add an \u003ccode\u003eSvg.Parser\u003c/code\u003e argument to \u003ccode\u003eSvgDecoder\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis enables using custom SVG parsers if the default SVG parser doesn't meet your needs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003edensity\u003c/code\u003e argument to \u003ccode\u003eSvgDecoder\u003c/code\u003e to support providing a custom density multiplier.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eUri.Builder\u003c/code\u003e to support copying and modifying \u003ccode\u003eUri\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eImageLoader.Builder.mainCoroutineContext\u003c/code\u003e to support overriding Coil's \u003ccode\u003eDispatchers.main.immediate\u003c/code\u003e usage in tests.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eCrossfadePainter.intrinsicSize\u003c/code\u003e changing when the \u003ccode\u003estart\u003c/code\u003e image is dereferenced at the end of the animation. This aligns with the behaviour of \u003ccode\u003eCrossfadeDrawable\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eImageLoaders.executeBlocking\u003c/code\u003e being inaccessible from Java.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ekotlinx.io\u003c/code\u003e's Okio interop module in \u003ccode\u003ecoil-network-ktor3\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ekotlinx-datetime\u003c/code\u003e to \u003ccode\u003e0.7.1\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis release includes binary incompatible changes that only affect the \u003ccode\u003ecoil-network-cache-control\u003c/code\u003e module. See \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant\"\u003ehere\u003c/a\u003e for more info.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpdate Kotlin to 2.2.0.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.2.\u003c/li\u003e\n\u003cli\u003eUpdate Okio to 3.15.0.\u003c/li\u003e\n\u003cli\u003eUpdate Skiko to 0.9.4.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.0] - May 13, 2025\u003c/h2\u003e\n\u003cp\u003eChanges since \u003ccode\u003e3.1.0\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eImportant\u003c/strong\u003e: \u003ccode\u003ecoil-compose\u003c/code\u003e and \u003ccode\u003ecoil-compose-core\u003c/code\u003e now require Java 11 bytecode due to Compose \u003ccode\u003e1.8.0\u003c/code\u003e requiring it. See \u003ca href=\"https://coil-kt.github.io/coil/faq/#how-do-i-target-java-8-or-java-11\"\u003ehere\u003c/a\u003e for how to enable it.\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003eAsyncImagePreviewHandler\u003c/code\u003e's functional constructor to return \u003ccode\u003eAsyncImagePainter.State.Success\u003c/code\u003e instead of \u003ccode\u003eAsyncImagePainter.State.Loading\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix cancellation in \u003ccode\u003eConstraintsSizeResolver#size()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix warning for missing \u003ccode\u003ePlatformContext\u003c/code\u003e when building with R8.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eFakeImageLoaderEngine\u003c/code\u003e not setting \u003ccode\u003eTransition.Factory.NONE\u003c/code\u003e when the default \u003ccode\u003eFakeImageLoaderEngine\u003c/code\u003e response is returned.\u003c/li\u003e\n\u003cli\u003eRemove experimental annotation from \u003ccode\u003eColorImage\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eParse network headers lazily in \u003ccode\u003eCacheControlCacheStrategy\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003eCircleCropTransformation\u003c/code\u003e and \u003ccode\u003eRoundedCornersTransformation\u003c/code\u003e to share common code.\u003c/li\u003e\n\u003cli\u003eFall back to using \u003ccode\u003eBitmapFactory\u003c/code\u003e internally if \u003ccode\u003eExifOrientationStrategy\u003c/code\u003e is not \u003ccode\u003eRESPECT_PERFORMANCE\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate Kotlin to 2.1.20.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.0.\u003c/li\u003e\n\u003cli\u003eUpdate Okio to 3.11.0.\u003c/li\u003e\n\u003cli\u003eUpdate Skiko to 0.9.4.\u003c/li\u003e\n\u003cli\u003eUpdate Coroutines to 1.10.2.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eaccompanist-drawablepainter\u003c/code\u003e to 0.37.3.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges since \u003ccode\u003e3.2.0-rc02\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFall back to using \u003ccode\u003eBitmapFactory\u003c/code\u003e internally if \u003ccode\u003eExifOrientationStrategy\u003c/code\u003e is not \u003ccode\u003eRESPECT_PERFORMANCE\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.0.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eaccompanist-drawablepainter\u003c/code\u003e to 0.37.3.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.0-rc02] - April 26, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix image requests failing with \u003ccode\u003eClosedByteChannelException\u003c/code\u003e when loading an image with \u003ccode\u003eKtorNetworkFetcherFactory\u003c/code\u003e (Ktor 3) on non-JVM targets.\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/coil-kt/coil/commit/1731511f0c12ef556db7822a91b6ea03fa3f95a1\"\u003e\u003ccode\u003e1731511\u003c/code\u003e\u003c/a\u003e Prepare 3.3.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/c68534cb1f648ef896846f19935de132668ccef8\"\u003e\u003ccode\u003ec68534c\u003c/code\u003e\u003c/a\u003e Fix accidental binary incompatible change in SvgDecoder. (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3089\"\u003e#3089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/732f7a7861f7c948a6ebb60e640b8b4fff5e83c4\"\u003e\u003ccode\u003e732f7a7\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spotless to v7.2.1 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3088\"\u003e#3088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/fbf78975a09ad215e6f1359f376dc0c0a3e06fbd\"\u003e\u003ccode\u003efbf7897\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin poko to v0.19.2 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3087\"\u003e#3087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/ce87117ede532a5e741bbc8f4ae27c44564f5d43\"\u003e\u003ccode\u003ece87117\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spotless to v7.2.0 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/b9b02327d5ce34ce910b08c4a71dfdbbecdca6a4\"\u003e\u003ccode\u003eb9b0232\u003c/code\u003e\u003c/a\u003e Add density function to SvgDecoder. (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3081\"\u003e#3081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/a70985934532f3b16cb086b6d23c70d2a2b24bd8\"\u003e\u003ccode\u003ea709859\u003c/code\u003e\u003c/a\u003e Add a new language (persian) to the translations of README.md (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3082\"\u003e#3082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/b80e2ddf068ad2f4f2b704fc8e7a2e11192a3dbd\"\u003e\u003ccode\u003eb80e2dd\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spotless to v7.1.0 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3079\"\u003e#3079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/0f6965ffeab059ac8d10c615f9af91635218e601\"\u003e\u003ccode\u003e0f6965f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency com.vanniktech:gradle-maven-publish-plugin to v0...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/e507a3f85b6871dbe0e286881ff2cb776b446c6b\"\u003e\u003ccode\u003ee507a3f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency com.android.tools.build:gradle to v8.11.1 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coil-kt/coil/compare/3.1.0...3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.coil-kt.coil3:coil-network-okhttp` from 3.1.0 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coil-kt/coil/releases\"\u003eio.coil-kt.coil3:coil-network-okhttp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#330---july-22-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320---may-13-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0-rc02\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320-rc02---april-26-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0-rc01\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320-rc01---april-24-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md\"\u003eio.coil-kt.coil3:coil-network-okhttp's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.3.0] - July 22, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eNew\u003c/strong\u003e: Introduce a new API to limit \u003ccode\u003eMemoryCache.maxSize\u003c/code\u003e on Android while the app is backgrounded.\n\u003cul\u003e\n\u003cli\u003eIf \u003ccode\u003eImageLoader.Builder.memoryCacheMaxSizePercentWhileInBackground\u003c/code\u003e is set, the \u003ccode\u003eImageLoader\u003c/code\u003e's memory cache will be limited to a percent of its max size while the app is backgrounded. This setting is currently disabled by default.\u003c/li\u003e\n\u003cli\u003eImages will be trimmed from the memory cache to reach the limited max size when the app is backgrounded, however the memory cache's weak references to recently trimmed images are unaffected. This means if an image is currently referenced elsewhere (e.g. \u003ccode\u003eAsyncImage\u003c/code\u003e, \u003ccode\u003eImageView\u003c/code\u003e, etc.) it will still be present in the memory cache.\u003c/li\u003e\n\u003cli\u003eThis API is useful to reduce background memory usage, keep your app from being killed earlier, and help reduce memory pressure on your users' devices.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew\u003c/strong\u003e: Add an \u003ccode\u003eSvg.Parser\u003c/code\u003e argument to \u003ccode\u003eSvgDecoder\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis enables using custom SVG parsers if the default SVG parser doesn't meet your needs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003edensity\u003c/code\u003e argument to \u003ccode\u003eSvgDecoder\u003c/code\u003e to support providing a custom density multiplier.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eUri.Builder\u003c/code\u003e to support copying and modifying \u003ccode\u003eUri\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eImageLoader.Builder.mainCoroutineContext\u003c/code\u003e to support overriding Coil's \u003ccode\u003eDispatchers.main.immediate\u003c/code\u003e usage in tests.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eCrossfadePainter.intrinsicSize\u003c/code\u003e changing when the \u003ccode\u003estart\u003c/code\u003e image is dereferenced at the end of the animation. This aligns with the behaviour of \u003ccode\u003eCrossfadeDrawable\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eImageLoaders.executeBlocking\u003c/code\u003e being inaccessible from Java.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ekotlinx.io\u003c/code\u003e's Okio interop module in \u003ccode\u003ecoil-network-ktor3\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ekotlinx-datetime\u003c/code\u003e to \u003ccode\u003e0.7.1\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis release includes binary incompatible changes that only affect the \u003ccode\u003ecoil-network-cache-control\u003c/code\u003e module. See \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant\"\u003ehere\u003c/a\u003e for more info.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpdate Kotlin to 2.2.0.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.2.\u003c/li\u003e\n\u003cli\u003eUpdate Okio to 3.15.0.\u003c/li\u003e\n\u003cli\u003eUpdate Skiko to 0.9.4.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.0] - May 13, 2025\u003c/h2\u003e\n\u003cp\u003eChanges since \u003ccode\u003e3.1.0\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eImportant\u003c/strong\u003e: \u003ccode\u003ecoil-compose\u003c/code\u003e and \u003ccode\u003ecoil-compose-core\u003c/code\u003e now require Java 11 bytecode due to Compose \u003ccode\u003e1.8.0\u003c/code\u003e requiring it. See \u003ca href=\"https://coil-kt.github.io/coil/faq/#how-do-i-target-java-8-or-java-11\"\u003ehere\u003c/a\u003e for how to enable it.\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003eAsyncImagePreviewHandler\u003c/code\u003e's functional constructor to return \u003ccode\u003eAsyncImagePainter.State.Success\u003c/code\u003e instead of \u003ccode\u003eAsyncImagePainter.State.Loading\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix cancellation in \u003ccode\u003eConstraintsSizeResolver#size()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix warning for missing \u003ccode\u003ePlatformContext\u003c/code\u003e when building with R8.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eFakeImageLoaderEngine\u003c/code\u003e not setting \u003ccode\u003eTransition.Factory.NONE\u003c/code\u003e when the default \u003ccode\u003eFakeImageLoaderEngine\u003c/code\u003e response is returned.\u003c/li\u003e\n\u003cli\u003eRemove experimental annotation from \u003ccode\u003eColorImage\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eParse network headers lazily in \u003ccode\u003eCacheControlCacheStrategy\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003eCircleCropTransformation\u003c/code\u003e and \u003ccode\u003eRoundedCornersTransformation\u003c/code\u003e to share common code.\u003c/li\u003e\n\u003cli\u003eFall back to using \u003ccode\u003eBitmapFactory\u003c/code\u003e internally if \u003ccode\u003eExifOrientationStrategy\u003c/code\u003e is not \u003ccode\u003eRESPECT_PERFORMANCE\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate Kotlin to 2.1.20.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.0.\u003c/li\u003e\n\u003cli\u003eUpdate Okio to 3.11.0.\u003c/li\u003e\n\u003cli\u003eUpdate Skiko to 0.9.4.\u003c/li\u003e\n\u003cli\u003eUpdate Coroutines to 1.10.2.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eaccompanist-drawablepainter\u003c/code\u003e to 0.37.3.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges since \u003ccode\u003e3.2.0-rc02\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFall back to using \u003ccode\u003eBitmapFactory\u003c/code\u003e internally if \u003ccode\u003eExifOrientationStrategy\u003c/code\u003e is not \u003ccode\u003eRESPECT_PERFORMANCE\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.0.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eaccompanist-drawablepainter\u003c/code\u003e to 0.37.3.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.0-rc02] - April 26, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix image requests failing with \u003ccode\u003eClosedByteChannelException\u003c/code\u003e when loading an image with \u003ccode\u003eKtorNetworkFetcherFactory\u003c/code\u003e (Ktor 3) on non-JVM targets.\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/coil-kt/coil/commit/1731511f0c12ef556db7822a91b6ea03fa3f95a1\"\u003e\u003ccode\u003e1731511\u003c/code\u003e\u003c/a\u003e Prepare 3.3.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/c68534cb1f648ef896846f19935de132668ccef8\"\u003e\u003ccode\u003ec68534c\u003c/code\u003e\u003c/a\u003e Fix accidental binary incompatible change in SvgDecoder. (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3089\"\u003e#3089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/732f7a7861f7c948a6ebb60e640b8b4fff5e83c4\"\u003e\u003ccode\u003e732f7a7\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spotless to v7.2.1 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3088\"\u003e#3088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/fbf78975a09ad215e6f1359f376dc0c0a3e06fbd\"\u003e\u003ccode\u003efbf7897\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin poko to v0.19.2 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3087\"\u003e#3087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/ce87117ede532a...\n\n_Description has been truncated_","html_url":"https://github.com/ArcticFoxPro/QQVersionList/pull/61","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArcticFoxPro%2FQQVersionList/issues/61","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/61/packages"},{"uuid":"2886209429","node_id":"PR_kwDOAhlFVM6sCA-V","number":6797,"state":"open","title":"build(deps): bump the gradle group with 50 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-03T20:59:36.000Z","updated_at":"2025-10-03T20:59:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":50,"packages":[{"name":"com.google.errorprone:error_prone_core","old_version":"2.36.0","new_version":"2.42.0","repository_url":"https://github.com/google/error-prone"},{"name":"biz.aQute.bnd:biz.aQute.bnd.annotation","old_version":"6.4.1","new_version":"7.1.0","repository_url":"https://github.com/bndtools/bnd"},{"name":"org.jsoup:jsoup","old_version":"1.17.2","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.infradna.tool:bridge-method-annotation","old_version":"1.18","new_version":"1.24","repository_url":"https://github.com/infradna/bridge-method-injector"},{"name":"org.kohsuke:github-api","old_version":"1.303","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.github.spotbugs:spotbugs-annotations","old_version":"3.1.12","new_version":"4.9.6","repository_url":"https://github.com/spotbugs/spotbugs"},{"name":"org.apache.commons:commons-collections4","old_version":"4.4","new_version":"4.5.0"},{"name":"org.apache.commons:commons-csv","old_version":"1.10.0","new_version":"1.14.1","repository_url":"https://github.com/apache/commons-csv"},{"name":"commons-io:commons-io","old_version":"2.16.1","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.fasterxml.jackson:jackson-bom","old_version":"2.19.1","new_version":"2.20.0","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.datanucleus:datanucleus-accessplatform-jdo-rdbms","old_version":"6.0.7","new_version":"6.0.10","repository_url":"https://github.com/datanucleus/datanucleus-accessplatform"},{"name":"org.flywaydb:flyway-core","old_version":"9.22.3","new_version":"11.13.2","repository_url":"https://github.com/flyway/flyway"},{"name":"org.xerial:sqlite-jdbc","old_version":"3.45.3.0","new_version":"3.50.3.0","repository_url":"https://github.com/xerial/sqlite-jdbc"},{"name":"de.sstoehr:har-reader","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/sdstoehr/har-reader"},{"name":"io.hektor:hektor-fsm","old_version":"0.0.5","new_version":"0.0.8","repository_url":"https://github.com/sniceio/hektor"},{"name":"com.github.curious-odd-man:rgxgen","old_version":"2.0","new_version":"3.1","repository_url":"https://github.com/curious-odd-man/RgxGen"},{"name":"com.natpryce:snodge","old_version":"2.1.2.2","new_version":"3.7.0.0","repository_url":"https://github.com/npryce/snodge"},{"name":"org.codehaus.groovy:groovy-all","old_version":"3.0.14","new_version":"3.0.25","repository_url":"https://github.com/apache/groovy"},{"name":"io.grpc:grpc-protobuf","old_version":"1.61.1","new_version":"1.75.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"org.jruby:jruby-complete","old_version":"1.7.4","new_version":"9.4.14.0"},{"name":"org.python:jython-standalone","old_version":"2.7.2","new_version":"2.7.4","repository_url":"https://github.com/jython/jython"},{"name":"dev.langchain4j:langchain4j","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-azure-open-ai","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-ollama","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"org.htmlunit:htmlunit-csp","old_version":"4.0.0","new_version":"4.16.0","repository_url":"https://github.com/HtmlUnit/htmlunit-csp"},{"name":"com.google.re2j:re2j","old_version":"1.7","new_version":"1.8","repository_url":"https://github.com/google/re2j"},{"name":"org.xhtmlrenderer:flying-saucer-pdf","old_version":"9.3.1","new_version":"9.13.3","repository_url":"https://github.com/flyingsaucerproject/flyingsaucer"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.2.RELEASE","new_version":"3.1.3.RELEASE"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"2.3.2","new_version":"4.0.6"},{"name":"net.bytebuddy:byte-buddy","old_version":"1.14.13","new_version":"1.17.7","repository_url":"https://github.com/raphw/byte-buddy"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.19.0"},{"name":"org.seleniumhq.selenium:selenium-java","old_version":"4.35.0","new_version":"4.36.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"jakarta.xml.soap:jakarta.xml.soap-api","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/jakartaee/saaj-api"},{"name":"com.sun.xml.messaging.saaj:saaj-impl","old_version":"3.0.0","new_version":"3.0.4"},{"name":"com.predic8:soa-model-core","old_version":"2.0.1","new_version":"2.2.0","repository_url":"https://github.com/membrane/soa-model"},{"name":"io.kaitai:kaitai-struct-runtime","old_version":"0.10","new_version":"0.11","repository_url":"https://github.com/kaitai-io/kaitai_struct_java_runtime"},{"name":"org.slf4j:jcl-over-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:jul-to-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:slf4j-log4j12","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.hamcrest:hamcrest-library","old_version":"2.2","new_version":"3.0","repository_url":"https://github.com/hamcrest/JavaHamcrest"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.10.0","new_version":"5.20.0","repository_url":"https://github.com/mockito/mockito"},{"name":"io.github.bonigarcia:selenium-jupiter","old_version":"5.1.1","new_version":"6.3.1","repository_url":"https://github.com/bonigarcia/selenium-jupiter"},{"name":"io.github.bonigarcia:webdrivermanager","old_version":"5.7.0","new_version":"6.3.2","repository_url":"https://github.com/bonigarcia/webdrivermanager"},{"name":"com.github.weisj:jsvg","old_version":"1.4.0","new_version":"2.0.0","repository_url":"https://github.com/weisJ/jsvg"},{"name":"org.cyclonedx.bom","old_version":"2.2.0","new_version":"3.0.0"},{"name":"com.github.ben-manes.versions","old_version":"0.52.0","new_version":"0.53.0"},{"name":"net.ltgt.errorprone","old_version":"4.1.0","new_version":"4.3.0"},{"name":"io.freefair.lombok","old_version":"8.12.2","new_version":"9.0.0","repository_url":"https://github.com/freefair/gradle-plugins"},{"name":"org.sonarqube","old_version":"4.3.0.3225","new_version":"6.3.1.5724"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 50 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.36.0` | `2.42.0` |\n| [biz.aQute.bnd:biz.aQute.bnd.annotation](https://github.com/bndtools/bnd) | `6.4.1` | `7.1.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.2` | `1.21.2` |\n| [com.infradna.tool:bridge-method-annotation](https://github.com/infradna/bridge-method-injector) | `1.18` | `1.24` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.303` | `1.330` |\n| [com.github.spotbugs:spotbugs-annotations](https://github.com/spotbugs/spotbugs) | `3.1.12` | `4.9.6` |\n| org.apache.commons:commons-collections4 | `4.4` | `4.5.0` |\n| [org.apache.commons:commons-csv](https://github.com/apache/commons-csv) | `1.10.0` | `1.14.1` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.16.1` | `2.20.0` |\n| [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `2.19.1` | `2.20.0` |\n| [org.datanucleus:datanucleus-accessplatform-jdo-rdbms](https://github.com/datanucleus/datanucleus-accessplatform) | `6.0.7` | `6.0.10` |\n| [org.flywaydb:flyway-core](https://github.com/flyway/flyway) | `9.22.3` | `11.13.2` |\n| [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) | `3.45.3.0` | `3.50.3.0` |\n| [de.sstoehr:har-reader](https://github.com/sdstoehr/har-reader) | `3.1.4` | `3.1.6` |\n| [io.hektor:hektor-fsm](https://github.com/sniceio/hektor) | `0.0.5` | `0.0.8` |\n| [com.github.curious-odd-man:rgxgen](https://github.com/curious-odd-man/RgxGen) | `2.0` | `3.1` |\n| [com.natpryce:snodge](https://github.com/npryce/snodge) | `2.1.2.2` | `3.7.0.0` |\n| [org.codehaus.groovy:groovy-all](https://github.com/apache/groovy) | `3.0.14` | `3.0.25` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.61.1` | `1.75.0` |\n| org.jruby:jruby-complete | `1.7.4` | `9.4.14.0` |\n| [org.python:jython-standalone](https://github.com/jython/jython) | `2.7.2` | `2.7.4` |\n| [dev.langchain4j:langchain4j](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-azure-open-ai](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-ollama](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [org.htmlunit:htmlunit-csp](https://github.com/HtmlUnit/htmlunit-csp) | `4.0.0` | `4.16.0` |\n| [com.google.re2j:re2j](https://github.com/google/re2j) | `1.7` | `1.8` |\n| [org.xhtmlrenderer:flying-saucer-pdf](https://github.com/flyingsaucerproject/flyingsaucer) | `9.3.1` | `9.13.3` |\n| org.thymeleaf:thymeleaf | `3.1.2.RELEASE` | `3.1.3.RELEASE` |\n| org.glassfish.jaxb:jaxb-runtime | `2.3.2` | `4.0.6` |\n| [net.bytebuddy:byte-buddy](https://github.com/raphw/byte-buddy) | `1.14.13` | `1.17.7` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.19.0` |\n| [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.36.0` |\n| [jakarta.xml.soap:jakarta.xml.soap-api](https://github.com/jakartaee/saaj-api) | `3.0.0` | `3.0.2` |\n| com.sun.xml.messaging.saaj:saaj-impl | `3.0.0` | `3.0.4` |\n| [com.predic8:soa-model-core](https://github.com/membrane/soa-model) | `2.0.1` | `2.2.0` |\n| [io.kaitai:kaitai-struct-runtime](https://github.com/kaitai-io/kaitai_struct_java_runtime) | `0.10` | `0.11` |\n| org.slf4j:jcl-over-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:jul-to-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:slf4j-log4j12 | `1.7.32` | `2.0.17` |\n| [org.hamcrest:hamcrest-library](https://github.com/hamcrest/JavaHamcrest) | `2.2` | `3.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.10.2` | `6.0.0` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.10.0` | `5.20.0` |\n| [io.github.bonigarcia:selenium-jupiter](https://github.com/bonigarcia/selenium-jupiter) | `5.1.1` | `6.3.1` |\n| [io.github.bonigarcia:webdrivermanager](https://github.com/bonigarcia/webdrivermanager) | `5.7.0` | `6.3.2` |\n| [com.github.weisj:jsvg](https://github.com/weisJ/jsvg) | `1.4.0` | `2.0.0` |\n| org.cyclonedx.bom | `2.2.0` | `3.0.0` |\n| com.github.ben-manes.versions | `0.52.0` | `0.53.0` |\n| net.ltgt.errorprone | `4.1.0` | `4.3.0` |\n| [io.freefair.lombok](https://github.com/freefair/gradle-plugins) | `8.12.2` | `9.0.0` |\n| org.sonarqube | `4.3.0.3225` | `6.3.1.5724` |\n\nUpdates `com.google.errorprone:error_prone_core` from 2.36.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.42.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExplicitArrayForVarargs\"\u003e\u003ccode\u003eExplicitArrayForVarargs\u003c/code\u003e\u003c/a\u003e: discourage unnecessary explicit construction of an array to provide varargs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/FloggerPerWithoutRateLimit\"\u003e\u003ccode\u003eFloggerPerWithoutRateLimit\u003c/code\u003e\u003c/a\u003e: discourage Flogger's \u003ccode\u003eperUnique\u003c/code\u003e without rate limiting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/StringJoin\"\u003e\u003ccode\u003eStringJoin\u003c/code\u003e\u003c/a\u003e: Ban \u003ccode\u003eString.join(CharSequence)\u003c/code\u003e and \u003ccode\u003eString.join(CharSequence, CharSequence)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThreadBuilderNameWithPlaceholder\"\u003e\u003ccode\u003eThreadBuilderNameWithPlaceholder\u003c/code\u003e\u003c/a\u003e: Do not allow placeholders in \u003ccode\u003eThread.Builder.name(String)\u003c/code\u003e or \u003ccode\u003ename(String, int)\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe return type of \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e has changed. The previous type was \u003ccode\u003eEnumSet\u0026lt;Flags.Flag\u0026gt;\u003c/code\u003e, where \u003ccode\u003eFlags.Flag\u003c/code\u003e is an enum in the javac class \u003ccode\u003eFlags\u003c/code\u003e. A recent JDK change has replaced that enum with a new top-level enum called \u003ccode\u003eFlagsEnum\u003c/code\u003e. It is not possible to change \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e in a way that would be type-safe and compatible with the enums from JDKs both before and after the change. Instead, the method now returns \u003ccode\u003eImmutableSet\u0026lt;String\u0026gt;\u003c/code\u003e, where the strings come from the \u003ccode\u003etoString()\u003c/code\u003e of the enum constants. That means they are \u003ccode\u003e\u0026quot;native\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;abstract\u0026quot;\u003c/code\u003e, etc.\u003c/li\u003e\n\u003cli\u003eFlag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ca href=\"https://errorprone.info/bugpattern/SystemOut\"\u003e\u003ccode\u003eSystemOut\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.41.0...v2.42.0\"\u003ehttps://github.com/google/error-prone/compare/v2.41.0...v2.42.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.41.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/EffectivelyPrivate\"\u003eEffectivelyPrivate\u003c/a\u003e: Detect declarations that have \u003ccode\u003epublic\u003c/code\u003e or \u003ccode\u003eprotected\u003c/code\u003e modifiers, but are effectively private\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip BooleanLiteral findings if the target type is boxed (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5134\"\u003e#5134\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.40.0...v2.41.0\"\u003ehttps://github.com/google/error-prone/compare/v2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.40.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and improvements\u003c/li\u003e\n\u003cli\u003eReleases (including snapshots) have migrated from \u003ca href=\"https://central.sonatype.org/pages/ossrh-eol/#process-to-migrate\"\u003eOSSRH to the Central Publisher Portal\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.39.0...v2.40.0\"\u003ehttps://github.com/google/error-prone/compare/v2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.39.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTemporarily downgrade to Guava 33.4.0 (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5108\"\u003e#5108\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChecks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BooleanLiteral\"\u003e\u003ccode\u003eBooleanLiteral\u003c/code\u003e\u003c/a\u003e: Prefer \u003ccode\u003etrue\u003c/code\u003e to \u003ccode\u003eBoolean.TRUE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExpensiveLenientFormatString\"\u003e\u003ccode\u003eExpensiveLenientFormatString\u003c/code\u003e\u003c/a\u003e: Renamed from \u003ccode\u003ePreconditionsExpensiveString\u003c/code\u003e, detects unnecessary calls to \u003ccode\u003eString.format\u003c/code\u003e in the arguments of lenient formatting methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/UnnecessaryQualifier\"\u003e\u003ccode\u003eUnnecessaryQualifier\u003c/code\u003e\u003c/a\u003e: Detects \u003ccode\u003e@Qualifier\u003c/code\u003e or \u003ccode\u003e@BindingAnnotation\u003c/code\u003e annotations that have no effect, and can be removed\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/4996\"\u003e#4996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5045\"\u003e#5045\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.38.0...v2.39.0\"\u003ehttps://github.com/google/error-prone/compare/v2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.38.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/google/error-prone/commit/52b61801ceacc31be26261a14e4eb95bee68cdd8\"\u003e\u003ccode\u003e52b6180\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/691c64a24ac430fa26a69ff3ae62fdba0346e0df\"\u003e\u003ccode\u003e691c64a\u003c/code\u003e\u003c/a\u003e Flag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ccode\u003eSystemOut\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/0b751cd69ac278d63686a776cd55a067b7bff7ae\"\u003e\u003ccode\u003e0b751cd\u003c/code\u003e\u003c/a\u003e ExpicitArrayForVarargs: flag unnecessary explicit construction of an array to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/982fe208c273cc82e838efbbc9c001b857cd239e\"\u003e\u003ccode\u003e982fe20\u003c/code\u003e\u003c/a\u003e Tweak links to point to newer versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a2df97f0d3842e1d45f26bf085a3a95f273346be\"\u003e\u003ccode\u003ea2df97f\u003c/code\u003e\u003c/a\u003e [StatementSwitchToExpressionSwitch] fix bug where \u003ccode\u003ecase null\u003c/code\u003e can sometimes b...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/e691be588c891d4fc10cb41f019960accd21db2d\"\u003e\u003ccode\u003ee691be5\u003c/code\u003e\u003c/a\u003e Fix (behind a flag) a silly bug in RedundantSetterCall.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/ce1a422f3f92a9a9c6434a9e0e00df5ce9877df2\"\u003e\u003ccode\u003ece1a422\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eDurations.wait()\u003c/code\u003e to \u003ccode\u003eWaitMatchers.waitMethodWithTimeout\u003c/code\u003e (and make them...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da03fea47dd31b1a63932d78f3d91fb383cce8d1\"\u003e\u003ccode\u003eda03fea\u003c/code\u003e\u003c/a\u003e Update MethodCanBeStatic to be able to detect and trigger on Guice \u003ca href=\"https://github.com/Provides\"\u003e\u003ccode\u003e@​Provides\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/83e6582d6333d2e2d5e5f2f279c630d54ae65fae\"\u003e\u003ccode\u003e83e6582\u003c/code\u003e\u003c/a\u003e RedundantSetterCall: note that setFooValue and setFooBytes can be aliases for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/db62c8c27ec5984058788547958f2f7c8d1bee95\"\u003e\u003ccode\u003edb62c8c\u003c/code\u003e\u003c/a\u003e Automated rollback of commit e1b16e24461d90f2b11f8213a68bfccc0426d4f3.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.36.0...v2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `biz.aQute.bnd:biz.aQute.bnd.annotation` from 6.4.1 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/bndtools/bnd/releases\"\u003ebiz.aQute.bnd:biz.aQute.bnd.annotation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBnd/Bndtools 7.1.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.1.0\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBnd/Bndtools 7.0.0\u003c/h2\u003e\n\u003cp\u003eThis is the first release on Java 17.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.0.0\"\u003eRelease Notes\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/bndtools/bnd/commit/47e504d7881ba466703c55a8dca7b0578561582d\"\u003e\u003ccode\u003e47e504d\u003c/code\u003e\u003c/a\u003e Build Release 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/c3ff1490e5a2d72336e28920711ec0d024c4a801\"\u003e\u003ccode\u003ec3ff149\u003c/code\u003e\u003c/a\u003e build: Build release 7.1.0.RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/2fc3187b1be2e04e78e4056b6c2efae406646b5b\"\u003e\u003ccode\u003e2fc3187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6363\"\u003e#6363\u003c/a\u003e from laeubi/process_with_conditional_package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/cd347e1202077e625bbdd5dadc158adb49e504db\"\u003e\u003ccode\u003ecd347e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6365\"\u003e#6365\u003c/a\u003e from bndtools/dependabot/github_actions/ruby/setup-r...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/9aa57efecc7e026646e279307d23ea5edb089e57\"\u003e\u003ccode\u003e9aa57ef\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.201.0 to 1.202.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/ec0fea78a246e66430db06e0e8ad0423ffb59dc2\"\u003e\u003ccode\u003eec0fea7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6361\"\u003e#6361\u003c/a\u003e from bndtools/dependabot/github_actions/github/codeq...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/396262634e86aad490df4b43150f3c903c60973f\"\u003e\u003ccode\u003e3962626\u003c/code\u003e\u003c/a\u003e Add testcase for conditional packages with bnd-process\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/fe9a874b3be6e6c2d86625afa55985d1b89c6199\"\u003e\u003ccode\u003efe9a874\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.27.0 to 3.27.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/e3c95f878d3266b872d5ce3ea81b07e8a99e3f8e\"\u003e\u003ccode\u003ee3c95f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6360\"\u003e#6360\u003c/a\u003e from pkriens/issue/6346-gradle-reference-to-project-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/aac92718e6b5021548ff6782871a1841f041eee5\"\u003e\u003ccode\u003eaac9271\u003c/code\u003e\u003c/a\u003e Added a method to get the Macro references from a Processor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bndtools/bnd/compare/6.4.1...7.1.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.17.2 to 1.21.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup 1.21.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.2\u003c/strong\u003e is out now, adding support for custom \u003ccode\u003eSSLContext\u003c/code\u003e in HTTP/2 connections, and improving consistency in how user data is handled in attributes. It also brings performance gains in DOM manipulation and fragment parsing, and fixes several edge cases in stream parsing, traversal, cloning, and concurrent reads.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ejsoup 1.21.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.1\u003c/strong\u003e is out now, featuring powerful new node selection capabilities that let you target specific DOM nodes like comments and text nodes using CSS selectors, dynamic tag customization through the new TagSet callback system, and improved defense against mutation XSS attacks with simplified attribute escaping. This release also brings HTTP/2 support by default, numerous API improvements for better developer experience, and fixes for several edge-case parsing issues.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; type)\u003c/code\u003e method instead. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull(Object)\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull(T)\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; nodeType)\u003c/code\u003e for direct node selection. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2330\"\u003e#2330\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection.Response#readBody()\u003c/code\u003e over \u003ccode\u003eConnection.Response#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\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\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.21.2 (2025-Aug-25)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.1 (2025-Jun-23)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class type)\u003c/code\u003e method instead. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class nodeType)\u003c/code\u003e for direct node selection. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace).\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection#readBody()\u003c/code\u003e over \u003ccode\u003eConnection#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe contents of a \u003ccode\u003escript\u003c/code\u003e in a \u003ccode\u003esvg\u003c/code\u003e foreign context should be parsed as script data, not text. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2320\"\u003e#2320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTag#isFormSubmittable()\u003c/code\u003e was updating the Tag's options. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2323\"\u003e#2323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML pretty-printer would incorrectly trim whitespace when text followed an inline element in a block element. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2325\"\u003e#2325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom tags with hyphens or other non-letter characters in their names now work correctly as Data or RcData tags. Their closing tags are now tokenized properly. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2332\"\u003e#2332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen cloning an Element, the clone would retain the source's cached child Element list (if any), which could lead to incorrect results when modifying the clone's child elements. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2334\"\u003e#2334\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/b02837b6c77b94799c055f8fa446fb770bfb49f1\"\u003e\u003ccode\u003eb02837b\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.21.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1f0c2070e78b5d171c4e5896930c612c58474608\"\u003e\u003ccode\u003e1f0c207\u003c/code\u003e\u003c/a\u003e v1.21.2 release date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/b0934637750ed6ddd91bf344842c8c5aad1fb70f\"\u003e\u003ccode\u003eb093463\u003c/code\u003e\u003c/a\u003e Use central-publishing-maven-plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/615b9592ffe8e65b4e461f7727081995931154ce\"\u003e\u003ccode\u003e615b959\u003c/code\u003e\u003c/a\u003e Updating sonatype deploy URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/69617205f80df06acf2adb38fd8a19f3724b6845\"\u003e\u003ccode\u003e6961720\u003c/code\u003e\u003c/a\u003e Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2386\"\u003e#2386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/82864b246c0005cc66a50daede3568f930504030\"\u003e\u003ccode\u003e82864b2\u003c/code\u003e\u003c/a\u003e Bump jetty.version from 9.4.57.v20241219 to 9.4.58.v20250814 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2385\"\u003e#2385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/71f963ea3a78746fc2a3ba80b2843254b35c211a\"\u003e\u003ccode\u003e71f963e\u003c/code\u003e\u003c/a\u003e Fix for HTML that breaks the select scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/6b20f6e3d158d1ce3147c4e9306d9b485e083bf4\"\u003e\u003ccode\u003e6b20f6e\u003c/code\u003e\u003c/a\u003e Removed effective recursion closing \u003ccode\u003e\\\u0026lt;/select\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/eb2957a8b3e8c12649c5b83872a238dd74e68dec\"\u003e\u003ccode\u003eeb2957a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2382\"\u003e#2382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/3a9a6c7c8a67d51ebbb598495496e28dcd0c18e1\"\u003e\u003ccode\u003e3a9a6c7\u003c/code\u003e\u003c/a\u003e Fix ProxyTest in CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.17.2...jsoup-1.21.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.infradna.tool:bridge-method-annotation` from 1.18 to 1.24\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/90b05fc5d86b8e9362bbb31ccc37b28abdc67e52\"\u003e\u003ccode\u003e90b05fc\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1e3123cf4feaa612e6aa77ccf1a12cfd61a473a9\"\u003e\u003ccode\u003e1e3123c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/29\"\u003e#29\u003c/a\u003e from basil/asm-9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/c89b1025f3a4808e3d03a8a84b3f4ece06b96bf1\"\u003e\u003ccode\u003ec89b102\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.2 to 9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a60c63572dbb7a1d1aa91b5fbb0866517db88836\"\u003e\u003ccode\u003ea60c635\u003c/code\u003e\u003c/a\u003e Replaced by README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/8a5b5e9c6d5036aa492e43d3552b40cba07e5d8b\"\u003e\u003ccode\u003e8a5b5e9\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/677782c5cd7b3df04755b6f515c184748b019770\"\u003e\u003ccode\u003e677782c\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/jenkinsci/bridge-method-injector/commit/4682998f65e92142b9b3b185c63eb40ea0ed8c07\"\u003e\u003ccode\u003e4682998\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a2c094ff373921db7d71551d8f3fcd868c56e467\"\u003e\u003ccode\u003ea2c094f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/27\"\u003e#27\u003c/a\u003e from basil/asm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/cd1a8efd21354ac75447e338eee3298b7aa2386a\"\u003e\u003ccode\u003ecd1a8ef\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.0 to 9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1567095d18f443e5cbeb4593520f6fc0345b32fb\"\u003e\u003ccode\u003e1567095\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/infradna/bridge-method-injector/compare/bridge-method-injector-parent-1.18...bridge-method-injector-parent-1.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.kohsuke:github-api` from 1.303 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.303...github-api-1.330\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.spotbugs:spotbugs-annotations` from 3.1.12 to 4.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spotbugs/spotbugs/releases\"\u003ecom.github.spotbugs:spotbugs-annotations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.6\u003c/h2\u003e\n\u003cp\u003eSpotBugs 4.9.6\u003c/p\u003e\n\u003ch3\u003eCHANGELOG\u003c/h3\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e method calls (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCHECKSUM\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003efile\u003c/th\u003e\n\u003cth\u003echecksum (sha256)\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003eb4b9373ad6f22ad2547a8274501f87b01e2428c30aabaea3aeec3f9095636e24\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e89687b6e685c9a07f7faf49f29b832fb861884f2160947eb4396498cdbb33cc4\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6.tgz\u003c/td\u003e\n\u003ctd\u003e55aa9b9e3deef0391be285335dcf134d1ce54aae222bba1da757eaa616108957\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6.zip\u003c/td\u003e\n\u003ctd\u003e86fb3f93c4147383f76fe21ab2807956b34cf17108a42a76311efa4977f952cc\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e4c9f8027f6a2313ef22347f4832e5dccc9c58d350d1bd5bff4d5a53f37e1c220\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e075b2eed660c2fe2fb1ad1de028f8fdff5f358e25c1318706b95ab17bb28be44\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations.jar\u003c/td\u003e\n\u003ctd\u003e523d394a6b36174ad0a22f0c1c75b105ccff42869a8b7ce86e7fd339ca6f86ce\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e9b510af8cd3a5c62560fe544b730ebf44cbb109e085fe526add155258612273c\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e91477d93b1fd1bebae35d318427b5238fb458e726478dc1a8ac41ce74838a1e6\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant.jar\u003c/td\u003e\n\u003ctd\u003e22f2fa397e86663adcd4828cc1c91e63aa6cc2bfc56832885b749a86fac5c784\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs.jar\u003c/td\u003e\n\u003ctd\u003e62a0def31899338200fc9013b4db8a8aedfc3536ca7d70d59038b092dfaa6819\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003ebdcef7587312fb9a85d0d292623ea1a779bfe8b9a5e321d73bb8ad92ce79ed0a\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e805d2d124b0d4ea513ee9262d4ad6027c3471d45defd80fd7d20e23425d17df7\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e0076a3bc9602c78d73edb048e625a96ee6a182fa3dd39300aa739af67b954189\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e7d7a7d6944e7199e06384104b163c11145ed60dd567fefd9b788f3ac03770e18\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e656579431db1b2714faeeca3c3d59426e2ffdfdb0725546b4090f993d2413eeb\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e66db286ae1dd056458c1e0303a8e2f81fe95a2c5d2888172a3ed17e993434bf1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e8925836d7d1198ec223c4ff5118fd596278df4157d910eb767f7f312a7df8904\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e59bbb8581ed4bdd212a669d94ec363b6c1d6df9276a608359c66d7f0c1688279\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e0582a99bdc66e24c7e36753014729149189fd27129ec5a2f38a8d67457bc9696\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSpotBugs 4.9.5\u003c/h2\u003e\n\u003ch3\u003eCHANGELOG\u003c/h3\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix for an error when a record method has the \u003ccode\u003e@SuppressFBWarnings\u003c/code\u003e annotation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3622\"\u003e#3622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSF_SWITCH_FALLTHROUGH\u003c/code\u003e false positive when continuing a loop (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCWO_CLOSED_WITHOUT_OPENED\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSF_SWITCH_NO_DEFAULT\u003c/code\u003e false positive fix for switch-arrow (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the issue with BCEL logging \u003ccode\u003eDuplicating value: ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing jakarta support for servlets / pre/post destroy (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3694\"\u003e#3694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'java.nio.file.Path.of' to known types for path traversal checks (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3699\"\u003e#3699\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCleanup\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eS1481: Unused local variables should be removed (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3654\"\u003e#3654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved test libraries to jakarta namespace including switching off jsr305 where possible for jakarta.annotatoin (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3695\"\u003e#3695\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCHECKSUM\u003c/h3\u003e\n\u003cp\u003e| file | checksum (sha256) |\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/spotbugs/spotbugs/blob/master/CHANGELOG.md\"\u003ecom.github.spotbugs:spotbugs-annotations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.6 - 2025-09-16\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e method calls (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.5 - 2025-09-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix for an error when a record method has the \u003ccode\u003e@SuppressFBWarnings\u003c/code\u003e annotation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3622\"\u003e#3622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSF_SWITCH_FALLTHROUGH\u003c/code\u003e false positive when continuing a loop (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCWO_CLOSED_WITHOUT_OPENED\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSF_SWITCH_NO_DEFAULT\u003c/code\u003e false positive fix for switch-arrow (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the issue with BCEL logging \u003ccode\u003eDuplicating value: ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing jakarta support for servlets / pre/post destroy (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3694\"\u003e#3694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'java.nio.file.Path.of' to known types for path traversal checks (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3699\"\u003e#3699\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCleanup\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eS1481: Unused local variables should be removed (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3654\"\u003e#3654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved test libraries to jakarta namespace including switching off jsr305 where possible for jakarta.annotatoin (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3695\"\u003e#3695\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.4 - 2025-08-07\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAnnotationMatcher\u003c/code\u003e can now ignore bugs if annotation is also applied on methods or fields. Previously only annotations on classes were considered.\u003c/li\u003e\n\u003cli\u003eAdd relevant CWE ids to bugs and refer the CWEs in the bug messages (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3354\"\u003e#3354\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eLOCAL_VARIABLE_UNKNOWN\u003c/code\u003e with exact method name for \u003ccode\u003eNP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3485\"\u003e#3485\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWiden main method recognition according to \u003ca href=\"https://openjdk.org/jeps/445\"\u003eJEP 445\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3371\"\u003e#3371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eUS_USELESS_SUPPRESSION_ON_*\u003c/code\u003e on methods, fields, parameters, packages or classes with an \u003ccode\u003e*.Generated\u003c/code\u003e annotation with retention \u0026gt;= class (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3350\"\u003e#3350\u003c/a\u003e)(\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3409\"\u003e#3409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite some member in \u003ccode\u003eResourceValueFrame.java\u003c/code\u003e to Enum (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/2061\"\u003e#2061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore non-interpreted text when looking for \u003ccode\u003eFS_BAD_DATE_FORMAT_FLAG_COMBO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3387\"\u003e#3387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix IllegalArgumentException thrown from \u003ccode\u003eFindNoSideEffectMethods\u003c/code\u003e detector (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3320\"\u003e#3320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eRV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT\u003c/code\u003e when part of a Mockito \u003ccode\u003edoAnswer()\u003c/code\u003e, \u003ccode\u003edoCallRealMethod()\u003c/code\u003e, \u003ccode\u003edoNothing()\u003c/code\u003e, \u003ccode\u003edoThrow()\u003c/code\u003e or \u003ccode\u003edoReturn()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3334\"\u003e#3334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eCT_CONSTRUCTOR_THROW\u003c/code\u003e false positive with public and private constructors in specific order of methods (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3417\"\u003e#3417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e, \u003ccode\u003eAT_NONATOMIC_64BIT_PRIMITIVE\u003c/code\u003e and \u003ccode\u003eAT_STALE_THREAD_WRITE_OF_PRIMITIVE\u003c/code\u003e FP when the relevant code is in private method, which is only called with proper synchronization (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3428\"\u003e#3428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eRV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT\u003c/code\u003e when part of a BDDMockito call (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3441\"\u003e#3441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e when field of a local variable is set. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3459\"\u003e#3459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e FP when there was no compound operation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3363\"\u003e#3363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eNM_FIELD_NAMING_CONVENTION\u003c/code\u003e crash in the TestASM detector (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3489\"\u003e#3489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR\u003c/code\u003e for fields initialized in JUnit 3/4 \u003ccode\u003esetUp()\u003c/code\u003e method. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3169\"\u003e#3169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eUS_USELESS_SUPPRESSION_ON_FIELD\u003c/code\u003e/\u003ccode\u003eUUF_UNUSED_FIELD\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3496\"\u003e#3496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake the osgi manifest of the annotations jar Java 8 compatible  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3498\"\u003e#3498\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3500\"\u003e#3500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextUICommandLine\u003c/code\u003e supports all options encoded in Eclipse preferences file (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3520\"\u003e#3520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnnecessary suppressions fix for records headers (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3471\"\u003e#3471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDead store fix when switch case contains loops  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3530\"\u003e#3530\u003c/a\u003e)  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3449\"\u003e#3449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider PUTFIELD and PUTSTATIC when looking for assertions with side effects (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3463\"\u003e#3463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect cases when equals() unconditionally returns true or false (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3528\"\u003e#3528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report that an Iterator does not throw \u003ccode\u003eNoSuchElementException\u003c/code\u003e when \u003ccode\u003ehasNext()\u003c/code\u003e returns true (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3501\"\u003e#3501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect random value cast to int when stored in temporary variable (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3461\"\u003e#3461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLook for interfaces default methods when searching uncalled private methods (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/1988\"\u003e#1988\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/spotbugs/spotbugs/commit/aa3a737bc82090dd8060524fe3e2498350e7cfd7\"\u003e\u003ccode\u003eaa3a737\u003c/code\u003e\u003c/a\u003e release v4.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/7d37faa40ea11e119272f9ce1fc85428ed3c85b4\"\u003e\u003ccode\u003e7d37faa\u003c/code\u003e\u003c/a\u003e chore(build): Temporarily remove the publish part\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/923f053467d889fdb2dcfbfb95b868458a6e2961\"\u003e\u003ccode\u003e923f053\u003c/code\u003e\u003c/a\u003e chore(docs): Minor syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/d662709773b1c1974f4582de2f278f497ce2b59d\"\u003e\u003ccode\u003ed662709\u003c/code\u003e\u003c/a\u003e chore(build): Rework the bin/hub to gh replacement\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/95470b84584a2652593d8a93c601c0a6d8577733\"\u003e\u003ccode\u003e95470b8\u003c/code\u003e\u003c/a\u003e prepare for next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/71e370669e8798898fe4214b0ec30ccb1d31aafb\"\u003e\u003ccode\u003e71e3706\u003c/code\u003e\u003c/a\u003e release v4.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/68013c09022410cf67a2eb1c2f50164925cbe431\"\u003e\u003ccode\u003e68013c0\u003c/code\u003e\u003c/a\u003e chore(Build): Rename as yaml extensions, use gh, and update conf versions (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/9f0ec1211acac3218e3a733bad55ce2c2337541e\"\u003e\u003ccode\u003e9f0ec12\u003c/code\u003e\u003c/a\u003e chore: Use proper import (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3716\"\u003e#3716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/6f81754c8548c2da9200773ed15e4bb142f18417\"\u003e\u003ccode\u003e6f81754\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin com.gradle.develocity to v4.2 (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3714\"\u003e#3714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/1f1fd68eda09bd93f0ad65611a5d2bfe503f6121\"\u003e\u003ccode\u003e1f1fd68\u003c/code\u003e\u003c/a\u003e Fix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spotbugs/spotbugs/compare/3.1.12...4.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.commons:commons-collections4` from 4.4 to 4.5.0\n\nUpdates `org.apache.commons:commons-csv` from 1.10.0 to 1.14.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-csv/blob/master/RELEASE-NOTES.txt\"\u003eorg.apache.commons:commons-csv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons CSV 1.14.1 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons CSV team is pleased to announce the release of Apache Commons CSV 1.14.1.\u003c/p\u003e\n\u003cp\u003eThis document contains the release notes for the 1.14.1 version of Apache Commons CSV.\nCommons CSV reads and writes files in Comma Separated Value (CSV) format variations.\u003c/p\u003e\n\u003cp\u003eCommons CSV requires at least Java 8.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003cp\u003eChanges in this version include:\u003c/p\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCSV-318:  CSVPrinter.printRecord(Stream) hangs if given a parallel stream. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCSV-318:  CSVPrinter now uses an internal lock instead of synchronized methods. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      org.apache.commons.csv.CSVPrinter.printRecords(ResultSet) now writes one record at a time using a lock. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-parent from 81 to 85 [#542](https://github.com/apache/commons-csv/issues/542). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-io:commons-io from 2.18.0 to 2.20.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump com.opencsv:opencsv from 5.10 to 5.11.2 [#545](https://github.com/apache/commons-csv/issues/545), [#551](https://github.com/apache/commons-csv/issues/551), [#553](https://github.com/apache/commons-csv/issues/553). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 [#556](https://github.com/apache/commons-csv/issues/556). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-codec:commons-codec from 1.18.0 to 1.19.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHistorical list of changes: \u003ca href=\"https://commons.apache.org/proper/commons-csv/changes.html\"\u003ehttps://commons.apache.org/proper/commons-csv/changes.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFor complete information on Apache Commons CSV, including instructions on how to submit bug reports,\npatches, or suggestions for improvement, see the Apache Commons CSV website:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://commons.apache.org/proper/commons-csv/\"\u003ehttps://commons.apache.org/proper/commons-csv/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDownload page: \u003ca href=\"https://commons.apache.org/proper/commons-csv/download_csv.cgi\"\u003ehttps://commons.apache.org/proper/commons-csv/download_csv.cgi\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eHave fun!\n-Apache Commons CSV team\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eApache Commons CSV 1.14.0 Release Notes\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/apache/commons-csv/commit/e14ef86d34211f9d1b9b6040c5f6dbafc93ba907\"\u003e\u003ccode\u003ee14ef86\u003c/code\u003e\u003c/a\u003e Ignore macOS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/d8724bf76a7d6abbb93aad65e316f050f86a256d\"\u003e\u003ccode\u003ed8724bf\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.14.1 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b76971c25af176f901c003b25d6a5f4f6edc87ad\"\u003e\u003ccode\u003eb76971c\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b66814ef248186b7a8316b85e1208c705dba06e3\"\u003e\u003ccode\u003eb66814e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/apache/commons-csv/issues/557\"\u003e#557\u003c/a\u003e from apache/dependabot/github_actions/github/codeql-a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/9c95e92d6aaa4d052a139158a900395646c6652e\"\u003e\u003ccode\u003e9c95e92\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.29.2 to 3.29.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/1fb37163f9fe59aa13c63efd53e71d7a0392be4c\"\u003e\u003ccode\u003e1fb3716\u003c/code\u003e\u003c/a\u003e Bump commons-codec:commons-codec from 1.18.0 to 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/7b72c509f73e05ca2bf2f0945a6a1cb03f87bd39\"\u003e\u003ccode\u003e7b72c50\u003c/code\u003e\u003c/a\u003e Merge some string literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/96583732b6be55d459a5b430c4a3a3bb2126db10\"\u003e\u003ccode\u003e9658373\u003c/code\u003e\u003c/a\u003e Update the GitHub pull request template for AI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/67192a9e0af58bdf49edf4e0d29f50343da82c70\"\u003e\u003ccode\u003e67192a9\u003c/code\u003e\u003c/a\u003e Bump commons-io:commons-io from 2.19.0 to 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/59164c8b795ebd4cc0362c4c74d7c893c4a5030...\n\n_Description has been truncated_","html_url":"https://github.com/zaproxy/zap-extensions/pull/6797","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaproxy%2Fzap-extensions/issues/6797","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6797/packages"},{"uuid":"2885887901","node_id":"PR_kwDODf4ejs6sAyed","number":13,"state":"open","title":"build(deps): bump the gradle group with 50 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-03T18:43:35.000Z","updated_at":"2025-10-03T18:43:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":50,"packages":[{"name":"com.google.errorprone:error_prone_core","old_version":"2.36.0","new_version":"2.42.0","repository_url":"https://github.com/google/error-prone"},{"name":"biz.aQute.bnd:biz.aQute.bnd.annotation","old_version":"6.4.1","new_version":"7.1.0","repository_url":"https://github.com/bndtools/bnd"},{"name":"org.jsoup:jsoup","old_version":"1.17.2","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.infradna.tool:bridge-method-annotation","old_version":"1.18","new_version":"1.24","repository_url":"https://github.com/infradna/bridge-method-injector"},{"name":"org.kohsuke:github-api","old_version":"1.303","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.github.spotbugs:spotbugs-annotations","old_version":"3.1.12","new_version":"4.9.6","repository_url":"https://github.com/spotbugs/spotbugs"},{"name":"org.apache.commons:commons-collections4","old_version":"4.4","new_version":"4.5.0"},{"name":"org.apache.commons:commons-csv","old_version":"1.10.0","new_version":"1.14.1","repository_url":"https://github.com/apache/commons-csv"},{"name":"commons-io:commons-io","old_version":"2.16.1","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.fasterxml.jackson:jackson-bom","old_version":"2.19.1","new_version":"2.20.0","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.datanucleus:datanucleus-accessplatform-jdo-rdbms","old_version":"6.0.7","new_version":"6.0.10","repository_url":"https://github.com/datanucleus/datanucleus-accessplatform"},{"name":"org.flywaydb:flyway-core","old_version":"9.22.3","new_version":"11.13.2","repository_url":"https://github.com/flyway/flyway"},{"name":"org.xerial:sqlite-jdbc","old_version":"3.45.3.0","new_version":"3.50.3.0","repository_url":"https://github.com/xerial/sqlite-jdbc"},{"name":"de.sstoehr:har-reader","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/sdstoehr/har-reader"},{"name":"io.hektor:hektor-fsm","old_version":"0.0.5","new_version":"0.0.8","repository_url":"https://github.com/sniceio/hektor"},{"name":"com.github.curious-odd-man:rgxgen","old_version":"2.0","new_version":"3.1","repository_url":"https://github.com/curious-odd-man/RgxGen"},{"name":"com.natpryce:snodge","old_version":"2.1.2.2","new_version":"3.7.0.0","repository_url":"https://github.com/npryce/snodge"},{"name":"org.codehaus.groovy:groovy-all","old_version":"3.0.14","new_version":"3.0.25","repository_url":"https://github.com/apache/groovy"},{"name":"io.grpc:grpc-protobuf","old_version":"1.61.1","new_version":"1.75.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"org.jruby:jruby-complete","old_version":"1.7.4","new_version":"9.4.14.0"},{"name":"org.python:jython-standalone","old_version":"2.7.2","new_version":"2.7.4","repository_url":"https://github.com/jython/jython"},{"name":"dev.langchain4j:langchain4j","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-azure-open-ai","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-ollama","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"org.htmlunit:htmlunit-csp","old_version":"4.0.0","new_version":"4.16.0","repository_url":"https://github.com/HtmlUnit/htmlunit-csp"},{"name":"com.google.re2j:re2j","old_version":"1.7","new_version":"1.8","repository_url":"https://github.com/google/re2j"},{"name":"org.xhtmlrenderer:flying-saucer-pdf","old_version":"9.3.1","new_version":"9.13.3","repository_url":"https://github.com/flyingsaucerproject/flyingsaucer"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.2.RELEASE","new_version":"3.1.3.RELEASE"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"2.3.2","new_version":"4.0.6"},{"name":"net.bytebuddy:byte-buddy","old_version":"1.14.13","new_version":"1.17.7","repository_url":"https://github.com/raphw/byte-buddy"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.19.0"},{"name":"org.seleniumhq.selenium:selenium-java","old_version":"4.35.0","new_version":"4.36.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"jakarta.xml.soap:jakarta.xml.soap-api","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/jakartaee/saaj-api"},{"name":"com.sun.xml.messaging.saaj:saaj-impl","old_version":"3.0.0","new_version":"3.0.4"},{"name":"com.predic8:soa-model-core","old_version":"2.0.1","new_version":"2.2.0","repository_url":"https://github.com/membrane/soa-model"},{"name":"io.kaitai:kaitai-struct-runtime","old_version":"0.10","new_version":"0.11","repository_url":"https://github.com/kaitai-io/kaitai_struct_java_runtime"},{"name":"org.slf4j:jcl-over-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:jul-to-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:slf4j-log4j12","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.hamcrest:hamcrest-library","old_version":"2.2","new_version":"3.0","repository_url":"https://github.com/hamcrest/JavaHamcrest"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.10.0","new_version":"5.20.0","repository_url":"https://github.com/mockito/mockito"},{"name":"io.github.bonigarcia:selenium-jupiter","old_version":"5.1.1","new_version":"6.3.1","repository_url":"https://github.com/bonigarcia/selenium-jupiter"},{"name":"io.github.bonigarcia:webdrivermanager","old_version":"5.7.0","new_version":"6.3.2","repository_url":"https://github.com/bonigarcia/webdrivermanager"},{"name":"com.github.weisj:jsvg","old_version":"1.4.0","new_version":"2.0.0","repository_url":"https://github.com/weisJ/jsvg"},{"name":"org.cyclonedx.bom","old_version":"2.2.0","new_version":"3.0.0"},{"name":"com.github.ben-manes.versions","old_version":"0.52.0","new_version":"0.53.0"},{"name":"net.ltgt.errorprone","old_version":"4.1.0","new_version":"4.3.0"},{"name":"io.freefair.lombok","old_version":"8.12.2","new_version":"9.0.0","repository_url":"https://github.com/freefair/gradle-plugins"},{"name":"org.sonarqube","old_version":"4.3.0.3225","new_version":"6.3.1.5724"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 50 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.36.0` | `2.42.0` |\n| [biz.aQute.bnd:biz.aQute.bnd.annotation](https://github.com/bndtools/bnd) | `6.4.1` | `7.1.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.2` | `1.21.2` |\n| [com.infradna.tool:bridge-method-annotation](https://github.com/infradna/bridge-method-injector) | `1.18` | `1.24` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.303` | `1.330` |\n| [com.github.spotbugs:spotbugs-annotations](https://github.com/spotbugs/spotbugs) | `3.1.12` | `4.9.6` |\n| org.apache.commons:commons-collections4 | `4.4` | `4.5.0` |\n| [org.apache.commons:commons-csv](https://github.com/apache/commons-csv) | `1.10.0` | `1.14.1` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.16.1` | `2.20.0` |\n| [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `2.19.1` | `2.20.0` |\n| [org.datanucleus:datanucleus-accessplatform-jdo-rdbms](https://github.com/datanucleus/datanucleus-accessplatform) | `6.0.7` | `6.0.10` |\n| [org.flywaydb:flyway-core](https://github.com/flyway/flyway) | `9.22.3` | `11.13.2` |\n| [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) | `3.45.3.0` | `3.50.3.0` |\n| [de.sstoehr:har-reader](https://github.com/sdstoehr/har-reader) | `3.1.4` | `3.1.6` |\n| [io.hektor:hektor-fsm](https://github.com/sniceio/hektor) | `0.0.5` | `0.0.8` |\n| [com.github.curious-odd-man:rgxgen](https://github.com/curious-odd-man/RgxGen) | `2.0` | `3.1` |\n| [com.natpryce:snodge](https://github.com/npryce/snodge) | `2.1.2.2` | `3.7.0.0` |\n| [org.codehaus.groovy:groovy-all](https://github.com/apache/groovy) | `3.0.14` | `3.0.25` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.61.1` | `1.75.0` |\n| org.jruby:jruby-complete | `1.7.4` | `9.4.14.0` |\n| [org.python:jython-standalone](https://github.com/jython/jython) | `2.7.2` | `2.7.4` |\n| [dev.langchain4j:langchain4j](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-azure-open-ai](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-ollama](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [org.htmlunit:htmlunit-csp](https://github.com/HtmlUnit/htmlunit-csp) | `4.0.0` | `4.16.0` |\n| [com.google.re2j:re2j](https://github.com/google/re2j) | `1.7` | `1.8` |\n| [org.xhtmlrenderer:flying-saucer-pdf](https://github.com/flyingsaucerproject/flyingsaucer) | `9.3.1` | `9.13.3` |\n| org.thymeleaf:thymeleaf | `3.1.2.RELEASE` | `3.1.3.RELEASE` |\n| org.glassfish.jaxb:jaxb-runtime | `2.3.2` | `4.0.6` |\n| [net.bytebuddy:byte-buddy](https://github.com/raphw/byte-buddy) | `1.14.13` | `1.17.7` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.19.0` |\n| [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.36.0` |\n| [jakarta.xml.soap:jakarta.xml.soap-api](https://github.com/jakartaee/saaj-api) | `3.0.0` | `3.0.2` |\n| com.sun.xml.messaging.saaj:saaj-impl | `3.0.0` | `3.0.4` |\n| [com.predic8:soa-model-core](https://github.com/membrane/soa-model) | `2.0.1` | `2.2.0` |\n| [io.kaitai:kaitai-struct-runtime](https://github.com/kaitai-io/kaitai_struct_java_runtime) | `0.10` | `0.11` |\n| org.slf4j:jcl-over-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:jul-to-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:slf4j-log4j12 | `1.7.32` | `2.0.17` |\n| [org.hamcrest:hamcrest-library](https://github.com/hamcrest/JavaHamcrest) | `2.2` | `3.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.10.2` | `6.0.0` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.10.0` | `5.20.0` |\n| [io.github.bonigarcia:selenium-jupiter](https://github.com/bonigarcia/selenium-jupiter) | `5.1.1` | `6.3.1` |\n| [io.github.bonigarcia:webdrivermanager](https://github.com/bonigarcia/webdrivermanager) | `5.7.0` | `6.3.2` |\n| [com.github.weisj:jsvg](https://github.com/weisJ/jsvg) | `1.4.0` | `2.0.0` |\n| org.cyclonedx.bom | `2.2.0` | `3.0.0` |\n| com.github.ben-manes.versions | `0.52.0` | `0.53.0` |\n| net.ltgt.errorprone | `4.1.0` | `4.3.0` |\n| [io.freefair.lombok](https://github.com/freefair/gradle-plugins) | `8.12.2` | `9.0.0` |\n| org.sonarqube | `4.3.0.3225` | `6.3.1.5724` |\n\nUpdates `com.google.errorprone:error_prone_core` from 2.36.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.42.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExplicitArrayForVarargs\"\u003e\u003ccode\u003eExplicitArrayForVarargs\u003c/code\u003e\u003c/a\u003e: discourage unnecessary explicit construction of an array to provide varargs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/FloggerPerWithoutRateLimit\"\u003e\u003ccode\u003eFloggerPerWithoutRateLimit\u003c/code\u003e\u003c/a\u003e: discourage Flogger's \u003ccode\u003eperUnique\u003c/code\u003e without rate limiting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/StringJoin\"\u003e\u003ccode\u003eStringJoin\u003c/code\u003e\u003c/a\u003e: Ban \u003ccode\u003eString.join(CharSequence)\u003c/code\u003e and \u003ccode\u003eString.join(CharSequence, CharSequence)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThreadBuilderNameWithPlaceholder\"\u003e\u003ccode\u003eThreadBuilderNameWithPlaceholder\u003c/code\u003e\u003c/a\u003e: Do not allow placeholders in \u003ccode\u003eThread.Builder.name(String)\u003c/code\u003e or \u003ccode\u003ename(String, int)\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe return type of \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e has changed. The previous type was \u003ccode\u003eEnumSet\u0026lt;Flags.Flag\u0026gt;\u003c/code\u003e, where \u003ccode\u003eFlags.Flag\u003c/code\u003e is an enum in the javac class \u003ccode\u003eFlags\u003c/code\u003e. A recent JDK change has replaced that enum with a new top-level enum called \u003ccode\u003eFlagsEnum\u003c/code\u003e. It is not possible to change \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e in a way that would be type-safe and compatible with the enums from JDKs both before and after the change. Instead, the method now returns \u003ccode\u003eImmutableSet\u0026lt;String\u0026gt;\u003c/code\u003e, where the strings come from the \u003ccode\u003etoString()\u003c/code\u003e of the enum constants. That means they are \u003ccode\u003e\u0026quot;native\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;abstract\u0026quot;\u003c/code\u003e, etc.\u003c/li\u003e\n\u003cli\u003eFlag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ca href=\"https://errorprone.info/bugpattern/SystemOut\"\u003e\u003ccode\u003eSystemOut\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.41.0...v2.42.0\"\u003ehttps://github.com/google/error-prone/compare/v2.41.0...v2.42.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.41.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/EffectivelyPrivate\"\u003eEffectivelyPrivate\u003c/a\u003e: Detect declarations that have \u003ccode\u003epublic\u003c/code\u003e or \u003ccode\u003eprotected\u003c/code\u003e modifiers, but are effectively private\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip BooleanLiteral findings if the target type is boxed (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5134\"\u003e#5134\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.40.0...v2.41.0\"\u003ehttps://github.com/google/error-prone/compare/v2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.40.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and improvements\u003c/li\u003e\n\u003cli\u003eReleases (including snapshots) have migrated from \u003ca href=\"https://central.sonatype.org/pages/ossrh-eol/#process-to-migrate\"\u003eOSSRH to the Central Publisher Portal\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.39.0...v2.40.0\"\u003ehttps://github.com/google/error-prone/compare/v2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.39.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTemporarily downgrade to Guava 33.4.0 (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5108\"\u003e#5108\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChecks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BooleanLiteral\"\u003e\u003ccode\u003eBooleanLiteral\u003c/code\u003e\u003c/a\u003e: Prefer \u003ccode\u003etrue\u003c/code\u003e to \u003ccode\u003eBoolean.TRUE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExpensiveLenientFormatString\"\u003e\u003ccode\u003eExpensiveLenientFormatString\u003c/code\u003e\u003c/a\u003e: Renamed from \u003ccode\u003ePreconditionsExpensiveString\u003c/code\u003e, detects unnecessary calls to \u003ccode\u003eString.format\u003c/code\u003e in the arguments of lenient formatting methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/UnnecessaryQualifier\"\u003e\u003ccode\u003eUnnecessaryQualifier\u003c/code\u003e\u003c/a\u003e: Detects \u003ccode\u003e@Qualifier\u003c/code\u003e or \u003ccode\u003e@BindingAnnotation\u003c/code\u003e annotations that have no effect, and can be removed\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/4996\"\u003e#4996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5045\"\u003e#5045\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.38.0...v2.39.0\"\u003ehttps://github.com/google/error-prone/compare/v2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.38.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/google/error-prone/commit/52b61801ceacc31be26261a14e4eb95bee68cdd8\"\u003e\u003ccode\u003e52b6180\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/691c64a24ac430fa26a69ff3ae62fdba0346e0df\"\u003e\u003ccode\u003e691c64a\u003c/code\u003e\u003c/a\u003e Flag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ccode\u003eSystemOut\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/0b751cd69ac278d63686a776cd55a067b7bff7ae\"\u003e\u003ccode\u003e0b751cd\u003c/code\u003e\u003c/a\u003e ExpicitArrayForVarargs: flag unnecessary explicit construction of an array to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/982fe208c273cc82e838efbbc9c001b857cd239e\"\u003e\u003ccode\u003e982fe20\u003c/code\u003e\u003c/a\u003e Tweak links to point to newer versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a2df97f0d3842e1d45f26bf085a3a95f273346be\"\u003e\u003ccode\u003ea2df97f\u003c/code\u003e\u003c/a\u003e [StatementSwitchToExpressionSwitch] fix bug where \u003ccode\u003ecase null\u003c/code\u003e can sometimes b...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/e691be588c891d4fc10cb41f019960accd21db2d\"\u003e\u003ccode\u003ee691be5\u003c/code\u003e\u003c/a\u003e Fix (behind a flag) a silly bug in RedundantSetterCall.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/ce1a422f3f92a9a9c6434a9e0e00df5ce9877df2\"\u003e\u003ccode\u003ece1a422\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eDurations.wait()\u003c/code\u003e to \u003ccode\u003eWaitMatchers.waitMethodWithTimeout\u003c/code\u003e (and make them...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da03fea47dd31b1a63932d78f3d91fb383cce8d1\"\u003e\u003ccode\u003eda03fea\u003c/code\u003e\u003c/a\u003e Update MethodCanBeStatic to be able to detect and trigger on Guice \u003ca href=\"https://github.com/Provides\"\u003e\u003ccode\u003e@​Provides\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/83e6582d6333d2e2d5e5f2f279c630d54ae65fae\"\u003e\u003ccode\u003e83e6582\u003c/code\u003e\u003c/a\u003e RedundantSetterCall: note that setFooValue and setFooBytes can be aliases for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/db62c8c27ec5984058788547958f2f7c8d1bee95\"\u003e\u003ccode\u003edb62c8c\u003c/code\u003e\u003c/a\u003e Automated rollback of commit e1b16e24461d90f2b11f8213a68bfccc0426d4f3.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.36.0...v2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `biz.aQute.bnd:biz.aQute.bnd.annotation` from 6.4.1 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/bndtools/bnd/releases\"\u003ebiz.aQute.bnd:biz.aQute.bnd.annotation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBnd/Bndtools 7.1.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.1.0\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBnd/Bndtools 7.0.0\u003c/h2\u003e\n\u003cp\u003eThis is the first release on Java 17.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.0.0\"\u003eRelease Notes\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/bndtools/bnd/commit/47e504d7881ba466703c55a8dca7b0578561582d\"\u003e\u003ccode\u003e47e504d\u003c/code\u003e\u003c/a\u003e Build Release 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/c3ff1490e5a2d72336e28920711ec0d024c4a801\"\u003e\u003ccode\u003ec3ff149\u003c/code\u003e\u003c/a\u003e build: Build release 7.1.0.RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/2fc3187b1be2e04e78e4056b6c2efae406646b5b\"\u003e\u003ccode\u003e2fc3187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6363\"\u003e#6363\u003c/a\u003e from laeubi/process_with_conditional_package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/cd347e1202077e625bbdd5dadc158adb49e504db\"\u003e\u003ccode\u003ecd347e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6365\"\u003e#6365\u003c/a\u003e from bndtools/dependabot/github_actions/ruby/setup-r...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/9aa57efecc7e026646e279307d23ea5edb089e57\"\u003e\u003ccode\u003e9aa57ef\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.201.0 to 1.202.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/ec0fea78a246e66430db06e0e8ad0423ffb59dc2\"\u003e\u003ccode\u003eec0fea7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6361\"\u003e#6361\u003c/a\u003e from bndtools/dependabot/github_actions/github/codeq...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/396262634e86aad490df4b43150f3c903c60973f\"\u003e\u003ccode\u003e3962626\u003c/code\u003e\u003c/a\u003e Add testcase for conditional packages with bnd-process\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/fe9a874b3be6e6c2d86625afa55985d1b89c6199\"\u003e\u003ccode\u003efe9a874\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.27.0 to 3.27.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/e3c95f878d3266b872d5ce3ea81b07e8a99e3f8e\"\u003e\u003ccode\u003ee3c95f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6360\"\u003e#6360\u003c/a\u003e from pkriens/issue/6346-gradle-reference-to-project-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/aac92718e6b5021548ff6782871a1841f041eee5\"\u003e\u003ccode\u003eaac9271\u003c/code\u003e\u003c/a\u003e Added a method to get the Macro references from a Processor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bndtools/bnd/compare/6.4.1...7.1.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.17.2 to 1.21.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup 1.21.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.2\u003c/strong\u003e is out now, adding support for custom \u003ccode\u003eSSLContext\u003c/code\u003e in HTTP/2 connections, and improving consistency in how user data is handled in attributes. It also brings performance gains in DOM manipulation and fragment parsing, and fixes several edge cases in stream parsing, traversal, cloning, and concurrent reads.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ejsoup 1.21.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.1\u003c/strong\u003e is out now, featuring powerful new node selection capabilities that let you target specific DOM nodes like comments and text nodes using CSS selectors, dynamic tag customization through the new TagSet callback system, and improved defense against mutation XSS attacks with simplified attribute escaping. This release also brings HTTP/2 support by default, numerous API improvements for better developer experience, and fixes for several edge-case parsing issues.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; type)\u003c/code\u003e method instead. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull(Object)\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull(T)\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; nodeType)\u003c/code\u003e for direct node selection. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2330\"\u003e#2330\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection.Response#readBody()\u003c/code\u003e over \u003ccode\u003eConnection.Response#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\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\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.21.2 (2025-Aug-25)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.1 (2025-Jun-23)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class type)\u003c/code\u003e method instead. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class nodeType)\u003c/code\u003e for direct node selection. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace).\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection#readBody()\u003c/code\u003e over \u003ccode\u003eConnection#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe contents of a \u003ccode\u003escript\u003c/code\u003e in a \u003ccode\u003esvg\u003c/code\u003e foreign context should be parsed as script data, not text. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2320\"\u003e#2320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTag#isFormSubmittable()\u003c/code\u003e was updating the Tag's options. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2323\"\u003e#2323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML pretty-printer would incorrectly trim whitespace when text followed an inline element in a block element. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2325\"\u003e#2325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom tags with hyphens or other non-letter characters in their names now work correctly as Data or RcData tags. Their closing tags are now tokenized properly. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2332\"\u003e#2332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen cloning an Element, the clone would retain the source's cached child Element list (if any), which could lead to incorrect results when modifying the clone's child elements. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2334\"\u003e#2334\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/b02837b6c77b94799c055f8fa446fb770bfb49f1\"\u003e\u003ccode\u003eb02837b\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.21.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1f0c2070e78b5d171c4e5896930c612c58474608\"\u003e\u003ccode\u003e1f0c207\u003c/code\u003e\u003c/a\u003e v1.21.2 release date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/b0934637750ed6ddd91bf344842c8c5aad1fb70f\"\u003e\u003ccode\u003eb093463\u003c/code\u003e\u003c/a\u003e Use central-publishing-maven-plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/615b9592ffe8e65b4e461f7727081995931154ce\"\u003e\u003ccode\u003e615b959\u003c/code\u003e\u003c/a\u003e Updating sonatype deploy URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/69617205f80df06acf2adb38fd8a19f3724b6845\"\u003e\u003ccode\u003e6961720\u003c/code\u003e\u003c/a\u003e Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2386\"\u003e#2386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/82864b246c0005cc66a50daede3568f930504030\"\u003e\u003ccode\u003e82864b2\u003c/code\u003e\u003c/a\u003e Bump jetty.version from 9.4.57.v20241219 to 9.4.58.v20250814 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2385\"\u003e#2385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/71f963ea3a78746fc2a3ba80b2843254b35c211a\"\u003e\u003ccode\u003e71f963e\u003c/code\u003e\u003c/a\u003e Fix for HTML that breaks the select scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/6b20f6e3d158d1ce3147c4e9306d9b485e083bf4\"\u003e\u003ccode\u003e6b20f6e\u003c/code\u003e\u003c/a\u003e Removed effective recursion closing \u003ccode\u003e\\\u0026lt;/select\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/eb2957a8b3e8c12649c5b83872a238dd74e68dec\"\u003e\u003ccode\u003eeb2957a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2382\"\u003e#2382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/3a9a6c7c8a67d51ebbb598495496e28dcd0c18e1\"\u003e\u003ccode\u003e3a9a6c7\u003c/code\u003e\u003c/a\u003e Fix ProxyTest in CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.17.2...jsoup-1.21.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.infradna.tool:bridge-method-annotation` from 1.18 to 1.24\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/90b05fc5d86b8e9362bbb31ccc37b28abdc67e52\"\u003e\u003ccode\u003e90b05fc\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1e3123cf4feaa612e6aa77ccf1a12cfd61a473a9\"\u003e\u003ccode\u003e1e3123c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/29\"\u003e#29\u003c/a\u003e from basil/asm-9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/c89b1025f3a4808e3d03a8a84b3f4ece06b96bf1\"\u003e\u003ccode\u003ec89b102\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.2 to 9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a60c63572dbb7a1d1aa91b5fbb0866517db88836\"\u003e\u003ccode\u003ea60c635\u003c/code\u003e\u003c/a\u003e Replaced by README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/8a5b5e9c6d5036aa492e43d3552b40cba07e5d8b\"\u003e\u003ccode\u003e8a5b5e9\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/677782c5cd7b3df04755b6f515c184748b019770\"\u003e\u003ccode\u003e677782c\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/jenkinsci/bridge-method-injector/commit/4682998f65e92142b9b3b185c63eb40ea0ed8c07\"\u003e\u003ccode\u003e4682998\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a2c094ff373921db7d71551d8f3fcd868c56e467\"\u003e\u003ccode\u003ea2c094f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/27\"\u003e#27\u003c/a\u003e from basil/asm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/cd1a8efd21354ac75447e338eee3298b7aa2386a\"\u003e\u003ccode\u003ecd1a8ef\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.0 to 9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1567095d18f443e5cbeb4593520f6fc0345b32fb\"\u003e\u003ccode\u003e1567095\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/infradna/bridge-method-injector/compare/bridge-method-injector-parent-1.18...bridge-method-injector-parent-1.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.kohsuke:github-api` from 1.303 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.303...github-api-1.330\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.spotbugs:spotbugs-annotations` from 3.1.12 to 4.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spotbugs/spotbugs/releases\"\u003ecom.github.spotbugs:spotbugs-annotations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.6\u003c/h2\u003e\n\u003cp\u003eSpotBugs 4.9.6\u003c/p\u003e\n\u003ch3\u003eCHANGELOG\u003c/h3\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e method calls (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCHECKSUM\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003efile\u003c/th\u003e\n\u003cth\u003echecksum (sha256)\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003eb4b9373ad6f22ad2547a8274501f87b01e2428c30aabaea3aeec3f9095636e24\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e89687b6e685c9a07f7faf49f29b832fb861884f2160947eb4396498cdbb33cc4\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6.tgz\u003c/td\u003e\n\u003ctd\u003e55aa9b9e3deef0391be285335dcf134d1ce54aae222bba1da757eaa616108957\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6.zip\u003c/td\u003e\n\u003ctd\u003e86fb3f93c4147383f76fe21ab2807956b34cf17108a42a76311efa4977f952cc\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e4c9f8027f6a2313ef22347f4832e5dccc9c58d350d1bd5bff4d5a53f37e1c220\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e075b2eed660c2fe2fb1ad1de028f8fdff5f358e25c1318706b95ab17bb28be44\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations.jar\u003c/td\u003e\n\u003ctd\u003e523d394a6b36174ad0a22f0c1c75b105ccff42869a8b7ce86e7fd339ca6f86ce\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e9b510af8cd3a5c62560fe544b730ebf44cbb109e085fe526add155258612273c\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e91477d93b1fd1bebae35d318427b5238fb458e726478dc1a8ac41ce74838a1e6\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant.jar\u003c/td\u003e\n\u003ctd\u003e22f2fa397e86663adcd4828cc1c91e63aa6cc2bfc56832885b749a86fac5c784\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs.jar\u003c/td\u003e\n\u003ctd\u003e62a0def31899338200fc9013b4db8a8aedfc3536ca7d70d59038b092dfaa6819\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003ebdcef7587312fb9a85d0d292623ea1a779bfe8b9a5e321d73bb8ad92ce79ed0a\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e805d2d124b0d4ea513ee9262d4ad6027c3471d45defd80fd7d20e23425d17df7\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e0076a3bc9602c78d73edb048e625a96ee6a182fa3dd39300aa739af67b954189\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e7d7a7d6944e7199e06384104b163c11145ed60dd567fefd9b788f3ac03770e18\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e656579431db1b2714faeeca3c3d59426e2ffdfdb0725546b4090f993d2413eeb\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e66db286ae1dd056458c1e0303a8e2f81fe95a2c5d2888172a3ed17e993434bf1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e8925836d7d1198ec223c4ff5118fd596278df4157d910eb767f7f312a7df8904\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e59bbb8581ed4bdd212a669d94ec363b6c1d6df9276a608359c66d7f0c1688279\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e0582a99bdc66e24c7e36753014729149189fd27129ec5a2f38a8d67457bc9696\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSpotBugs 4.9.5\u003c/h2\u003e\n\u003ch3\u003eCHANGELOG\u003c/h3\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix for an error when a record method has the \u003ccode\u003e@SuppressFBWarnings\u003c/code\u003e annotation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3622\"\u003e#3622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSF_SWITCH_FALLTHROUGH\u003c/code\u003e false positive when continuing a loop (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCWO_CLOSED_WITHOUT_OPENED\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSF_SWITCH_NO_DEFAULT\u003c/code\u003e false positive fix for switch-arrow (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the issue with BCEL logging \u003ccode\u003eDuplicating value: ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing jakarta support for servlets / pre/post destroy (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3694\"\u003e#3694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'java.nio.file.Path.of' to known types for path traversal checks (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3699\"\u003e#3699\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCleanup\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eS1481: Unused local variables should be removed (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3654\"\u003e#3654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved test libraries to jakarta namespace including switching off jsr305 where possible for jakarta.annotatoin (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3695\"\u003e#3695\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCHECKSUM\u003c/h3\u003e\n\u003cp\u003e| file | checksum (sha256) |\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/spotbugs/spotbugs/blob/master/CHANGELOG.md\"\u003ecom.github.spotbugs:spotbugs-annotations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.6 - 2025-09-16\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e method calls (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.5 - 2025-09-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix for an error when a record method has the \u003ccode\u003e@SuppressFBWarnings\u003c/code\u003e annotation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3622\"\u003e#3622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSF_SWITCH_FALLTHROUGH\u003c/code\u003e false positive when continuing a loop (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCWO_CLOSED_WITHOUT_OPENED\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSF_SWITCH_NO_DEFAULT\u003c/code\u003e false positive fix for switch-arrow (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the issue with BCEL logging \u003ccode\u003eDuplicating value: ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing jakarta support for servlets / pre/post destroy (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3694\"\u003e#3694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'java.nio.file.Path.of' to known types for path traversal checks (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3699\"\u003e#3699\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCleanup\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eS1481: Unused local variables should be removed (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3654\"\u003e#3654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved test libraries to jakarta namespace including switching off jsr305 where possible for jakarta.annotatoin (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3695\"\u003e#3695\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.4 - 2025-08-07\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAnnotationMatcher\u003c/code\u003e can now ignore bugs if annotation is also applied on methods or fields. Previously only annotations on classes were considered.\u003c/li\u003e\n\u003cli\u003eAdd relevant CWE ids to bugs and refer the CWEs in the bug messages (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3354\"\u003e#3354\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eLOCAL_VARIABLE_UNKNOWN\u003c/code\u003e with exact method name for \u003ccode\u003eNP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3485\"\u003e#3485\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWiden main method recognition according to \u003ca href=\"https://openjdk.org/jeps/445\"\u003eJEP 445\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3371\"\u003e#3371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eUS_USELESS_SUPPRESSION_ON_*\u003c/code\u003e on methods, fields, parameters, packages or classes with an \u003ccode\u003e*.Generated\u003c/code\u003e annotation with retention \u0026gt;= class (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3350\"\u003e#3350\u003c/a\u003e)(\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3409\"\u003e#3409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite some member in \u003ccode\u003eResourceValueFrame.java\u003c/code\u003e to Enum (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/2061\"\u003e#2061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore non-interpreted text when looking for \u003ccode\u003eFS_BAD_DATE_FORMAT_FLAG_COMBO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3387\"\u003e#3387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix IllegalArgumentException thrown from \u003ccode\u003eFindNoSideEffectMethods\u003c/code\u003e detector (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3320\"\u003e#3320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eRV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT\u003c/code\u003e when part of a Mockito \u003ccode\u003edoAnswer()\u003c/code\u003e, \u003ccode\u003edoCallRealMethod()\u003c/code\u003e, \u003ccode\u003edoNothing()\u003c/code\u003e, \u003ccode\u003edoThrow()\u003c/code\u003e or \u003ccode\u003edoReturn()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3334\"\u003e#3334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eCT_CONSTRUCTOR_THROW\u003c/code\u003e false positive with public and private constructors in specific order of methods (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3417\"\u003e#3417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e, \u003ccode\u003eAT_NONATOMIC_64BIT_PRIMITIVE\u003c/code\u003e and \u003ccode\u003eAT_STALE_THREAD_WRITE_OF_PRIMITIVE\u003c/code\u003e FP when the relevant code is in private method, which is only called with proper synchronization (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3428\"\u003e#3428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eRV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT\u003c/code\u003e when part of a BDDMockito call (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3441\"\u003e#3441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e when field of a local variable is set. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3459\"\u003e#3459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e FP when there was no compound operation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3363\"\u003e#3363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eNM_FIELD_NAMING_CONVENTION\u003c/code\u003e crash in the TestASM detector (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3489\"\u003e#3489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR\u003c/code\u003e for fields initialized in JUnit 3/4 \u003ccode\u003esetUp()\u003c/code\u003e method. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3169\"\u003e#3169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eUS_USELESS_SUPPRESSION_ON_FIELD\u003c/code\u003e/\u003ccode\u003eUUF_UNUSED_FIELD\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3496\"\u003e#3496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake the osgi manifest of the annotations jar Java 8 compatible  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3498\"\u003e#3498\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3500\"\u003e#3500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextUICommandLine\u003c/code\u003e supports all options encoded in Eclipse preferences file (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3520\"\u003e#3520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnnecessary suppressions fix for records headers (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3471\"\u003e#3471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDead store fix when switch case contains loops  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3530\"\u003e#3530\u003c/a\u003e)  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3449\"\u003e#3449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider PUTFIELD and PUTSTATIC when looking for assertions with side effects (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3463\"\u003e#3463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect cases when equals() unconditionally returns true or false (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3528\"\u003e#3528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report that an Iterator does not throw \u003ccode\u003eNoSuchElementException\u003c/code\u003e when \u003ccode\u003ehasNext()\u003c/code\u003e returns true (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3501\"\u003e#3501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect random value cast to int when stored in temporary variable (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3461\"\u003e#3461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLook for interfaces default methods when searching uncalled private methods (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/1988\"\u003e#1988\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/spotbugs/spotbugs/commit/aa3a737bc82090dd8060524fe3e2498350e7cfd7\"\u003e\u003ccode\u003eaa3a737\u003c/code\u003e\u003c/a\u003e release v4.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/7d37faa40ea11e119272f9ce1fc85428ed3c85b4\"\u003e\u003ccode\u003e7d37faa\u003c/code\u003e\u003c/a\u003e chore(build): Temporarily remove the publish part\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/923f053467d889fdb2dcfbfb95b868458a6e2961\"\u003e\u003ccode\u003e923f053\u003c/code\u003e\u003c/a\u003e chore(docs): Minor syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/d662709773b1c1974f4582de2f278f497ce2b59d\"\u003e\u003ccode\u003ed662709\u003c/code\u003e\u003c/a\u003e chore(build): Rework the bin/hub to gh replacement\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/95470b84584a2652593d8a93c601c0a6d8577733\"\u003e\u003ccode\u003e95470b8\u003c/code\u003e\u003c/a\u003e prepare for next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/71e370669e8798898fe4214b0ec30ccb1d31aafb\"\u003e\u003ccode\u003e71e3706\u003c/code\u003e\u003c/a\u003e release v4.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/68013c09022410cf67a2eb1c2f50164925cbe431\"\u003e\u003ccode\u003e68013c0\u003c/code\u003e\u003c/a\u003e chore(Build): Rename as yaml extensions, use gh, and update conf versions (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/9f0ec1211acac3218e3a733bad55ce2c2337541e\"\u003e\u003ccode\u003e9f0ec12\u003c/code\u003e\u003c/a\u003e chore: Use proper import (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3716\"\u003e#3716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/6f81754c8548c2da9200773ed15e4bb142f18417\"\u003e\u003ccode\u003e6f81754\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin com.gradle.develocity to v4.2 (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3714\"\u003e#3714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/1f1fd68eda09bd93f0ad65611a5d2bfe503f6121\"\u003e\u003ccode\u003e1f1fd68\u003c/code\u003e\u003c/a\u003e Fix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spotbugs/spotbugs/compare/3.1.12...4.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.commons:commons-collections4` from 4.4 to 4.5.0\n\nUpdates `org.apache.commons:commons-csv` from 1.10.0 to 1.14.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-csv/blob/master/RELEASE-NOTES.txt\"\u003eorg.apache.commons:commons-csv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons CSV 1.14.1 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons CSV team is pleased to announce the release of Apache Commons CSV 1.14.1.\u003c/p\u003e\n\u003cp\u003eThis document contains the release notes for the 1.14.1 version of Apache Commons CSV.\nCommons CSV reads and writes files in Comma Separated Value (CSV) format variations.\u003c/p\u003e\n\u003cp\u003eCommons CSV requires at least Java 8.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003cp\u003eChanges in this version include:\u003c/p\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCSV-318:  CSVPrinter.printRecord(Stream) hangs if given a parallel stream. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCSV-318:  CSVPrinter now uses an internal lock instead of synchronized methods. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      org.apache.commons.csv.CSVPrinter.printRecords(ResultSet) now writes one record at a time using a lock. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-parent from 81 to 85 [#542](https://github.com/apache/commons-csv/issues/542). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-io:commons-io from 2.18.0 to 2.20.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump com.opencsv:opencsv from 5.10 to 5.11.2 [#545](https://github.com/apache/commons-csv/issues/545), [#551](https://github.com/apache/commons-csv/issues/551), [#553](https://github.com/apache/commons-csv/issues/553). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 [#556](https://github.com/apache/commons-csv/issues/556). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-codec:commons-codec from 1.18.0 to 1.19.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHistorical list of changes: \u003ca href=\"https://commons.apache.org/proper/commons-csv/changes.html\"\u003ehttps://commons.apache.org/proper/commons-csv/changes.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFor complete information on Apache Commons CSV, including instructions on how to submit bug reports,\npatches, or suggestions for improvement, see the Apache Commons CSV website:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://commons.apache.org/proper/commons-csv/\"\u003ehttps://commons.apache.org/proper/commons-csv/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDownload page: \u003ca href=\"https://commons.apache.org/proper/commons-csv/download_csv.cgi\"\u003ehttps://commons.apache.org/proper/commons-csv/download_csv.cgi\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eHave fun!\n-Apache Commons CSV team\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eApache Commons CSV 1.14.0 Release Notes\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/apache/commons-csv/commit/e14ef86d34211f9d1b9b6040c5f6dbafc93ba907\"\u003e\u003ccode\u003ee14ef86\u003c/code\u003e\u003c/a\u003e Ignore macOS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/d8724bf76a7d6abbb93aad65e316f050f86a256d\"\u003e\u003ccode\u003ed8724bf\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.14.1 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b76971c25af176f901c003b25d6a5f4f6edc87ad\"\u003e\u003ccode\u003eb76971c\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b66814ef248186b7a8316b85e1208c705dba06e3\"\u003e\u003ccode\u003eb66814e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/apache/commons-csv/issues/557\"\u003e#557\u003c/a\u003e from apache/dependabot/github_actions/github/codeql-a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/9c95e92d6aaa4d052a139158a900395646c6652e\"\u003e\u003ccode\u003e9c95e92\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.29.2 to 3.29.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/1fb37163f9fe59aa13c63efd53e71d7a0392be4c\"\u003e\u003ccode\u003e1fb3716\u003c/code\u003e\u003c/a\u003e Bump commons-codec:commons-codec from 1.18.0 to 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/7b72c509f73e05ca2bf2f0945a6a1cb03f87bd39\"\u003e\u003ccode\u003e7b72c50\u003c/code\u003e\u003c/a\u003e Merge some string literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/96583732b6be55d459a5b430c4a3a3bb2126db10\"\u003e\u003ccode\u003e9658373\u003c/code\u003e\u003c/a\u003e Update the GitHub pull request template for AI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/67192a9e0af58bdf49edf4e0d29f50343da82c70\"\u003e\u003ccode\u003e67192a9\u003c/code\u003e\u003c/a\u003e Bump commons-io:commons-io from 2.19.0 to 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/59164c8b795ebd4cc0362c4c74d7c893c4a5030...\n\n_Description has been truncated_","html_url":"https://github.com/ricekot/zap-extensions/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricekot%2Fzap-extensions/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"},{"uuid":"2885107903","node_id":"PR_kwDODf4ejs6r90C_","number":8,"state":"open","title":"build(deps): bump the gradle-minor-patch-updates group with 30 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-03T14:10:34.000Z","updated_at":"2025-10-03T14:10:35.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle-minor-patch-updates","update_count":30,"packages":[{"name":"com.google.errorprone:error_prone_core","old_version":"2.36.0","new_version":"2.42.0","repository_url":"https://github.com/google/error-prone"},{"name":"commons-codec:commons-codec","old_version":"1.15","new_version":"1.19.0","repository_url":"https://github.com/apache/commons-codec"},{"name":"org.jsoup:jsoup","old_version":"1.17.2","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.infradna.tool:bridge-method-annotation","old_version":"1.18","new_version":"1.24","repository_url":"https://github.com/infradna/bridge-method-injector"},{"name":"org.kohsuke:github-api","old_version":"1.303","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"org.apache.commons:commons-collections4","old_version":"4.4","new_version":"4.5.0"},{"name":"org.apache.commons:commons-csv","old_version":"1.10.0","new_version":"1.14.1","repository_url":"https://github.com/apache/commons-csv"},{"name":"commons-io:commons-io","old_version":"2.16.1","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.fasterxml.jackson:jackson-bom","old_version":"2.19.1","new_version":"2.20.0","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.datanucleus:datanucleus-accessplatform-jdo-rdbms","old_version":"6.0.7","new_version":"6.0.10","repository_url":"https://github.com/datanucleus/datanucleus-accessplatform"},{"name":"org.xerial:sqlite-jdbc","old_version":"3.45.3.0","new_version":"3.50.3.0","repository_url":"https://github.com/xerial/sqlite-jdbc"},{"name":"de.sstoehr:har-reader","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/sdstoehr/har-reader"},{"name":"io.hektor:hektor-fsm","old_version":"0.0.5","new_version":"0.0.8","repository_url":"https://github.com/sniceio/hektor"},{"name":"org.codehaus.groovy:groovy-all","old_version":"3.0.14","new_version":"3.0.25","repository_url":"https://github.com/apache/groovy"},{"name":"io.grpc:grpc-protobuf","old_version":"1.61.1","new_version":"1.75.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"org.python:jython-standalone","old_version":"2.7.2","new_version":"2.7.4","repository_url":"https://github.com/jython/jython"},{"name":"org.htmlunit:htmlunit-csp","old_version":"4.0.0","new_version":"4.16.0","repository_url":"https://github.com/HtmlUnit/htmlunit-csp"},{"name":"com.google.re2j:re2j","old_version":"1.7","new_version":"1.8","repository_url":"https://github.com/google/re2j"},{"name":"org.xhtmlrenderer:flying-saucer-pdf","old_version":"9.3.1","new_version":"9.13.3","repository_url":"https://github.com/flyingsaucerproject/flyingsaucer"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.2.RELEASE","new_version":"3.1.3.RELEASE"},{"name":"net.bytebuddy:byte-buddy","old_version":"1.14.13","new_version":"1.17.7","repository_url":"https://github.com/raphw/byte-buddy"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.19.0"},{"name":"org.seleniumhq.selenium:selenium-java","old_version":"4.35.0","new_version":"4.36.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"jakarta.xml.soap:jakarta.xml.soap-api","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/jakartaee/saaj-api"},{"name":"com.sun.xml.messaging.saaj:saaj-impl","old_version":"3.0.0","new_version":"3.0.4"},{"name":"com.predic8:soa-model-core","old_version":"2.0.1","new_version":"2.2.0","repository_url":"https://github.com/membrane/soa-model"},{"name":"io.kaitai:kaitai-struct-runtime","old_version":"0.10","new_version":"0.11","repository_url":"https://github.com/kaitai-io/kaitai_struct_java_runtime"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.10.0","new_version":"5.20.0","repository_url":"https://github.com/mockito/mockito"},{"name":"com.github.ben-manes.versions","old_version":"0.52.0","new_version":"0.53.0"},{"name":"net.ltgt.errorprone","old_version":"4.1.0","new_version":"4.3.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-minor-patch-updates group with 30 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.36.0` | `2.42.0` |\n| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.15` | `1.19.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.2` | `1.21.2` |\n| [com.infradna.tool:bridge-method-annotation](https://github.com/infradna/bridge-method-injector) | `1.18` | `1.24` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.303` | `1.330` |\n| org.apache.commons:commons-collections4 | `4.4` | `4.5.0` |\n| [org.apache.commons:commons-csv](https://github.com/apache/commons-csv) | `1.10.0` | `1.14.1` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.16.1` | `2.20.0` |\n| [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `2.19.1` | `2.20.0` |\n| [org.datanucleus:datanucleus-accessplatform-jdo-rdbms](https://github.com/datanucleus/datanucleus-accessplatform) | `6.0.7` | `6.0.10` |\n| [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) | `3.45.3.0` | `3.50.3.0` |\n| [de.sstoehr:har-reader](https://github.com/sdstoehr/har-reader) | `3.1.4` | `3.1.6` |\n| [io.hektor:hektor-fsm](https://github.com/sniceio/hektor) | `0.0.5` | `0.0.8` |\n| [org.codehaus.groovy:groovy-all](https://github.com/apache/groovy) | `3.0.14` | `3.0.25` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.61.1` | `1.75.0` |\n| [org.python:jython-standalone](https://github.com/jython/jython) | `2.7.2` | `2.7.4` |\n| [org.htmlunit:htmlunit-csp](https://github.com/HtmlUnit/htmlunit-csp) | `4.0.0` | `4.16.0` |\n| [com.google.re2j:re2j](https://github.com/google/re2j) | `1.7` | `1.8` |\n| [org.xhtmlrenderer:flying-saucer-pdf](https://github.com/flyingsaucerproject/flyingsaucer) | `9.3.1` | `9.13.3` |\n| org.thymeleaf:thymeleaf | `3.1.2.RELEASE` | `3.1.3.RELEASE` |\n| [net.bytebuddy:byte-buddy](https://github.com/raphw/byte-buddy) | `1.14.13` | `1.17.7` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.19.0` |\n| [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.36.0` |\n| [jakarta.xml.soap:jakarta.xml.soap-api](https://github.com/jakartaee/saaj-api) | `3.0.0` | `3.0.2` |\n| com.sun.xml.messaging.saaj:saaj-impl | `3.0.0` | `3.0.4` |\n| [com.predic8:soa-model-core](https://github.com/membrane/soa-model) | `2.0.1` | `2.2.0` |\n| [io.kaitai:kaitai-struct-runtime](https://github.com/kaitai-io/kaitai_struct_java_runtime) | `0.10` | `0.11` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.10.0` | `5.20.0` |\n| com.github.ben-manes.versions | `0.52.0` | `0.53.0` |\n| net.ltgt.errorprone | `4.1.0` | `4.3.0` |\n\nUpdates `com.google.errorprone:error_prone_core` from 2.36.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.42.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExplicitArrayForVarargs\"\u003e\u003ccode\u003eExplicitArrayForVarargs\u003c/code\u003e\u003c/a\u003e: discourage unnecessary explicit construction of an array to provide varargs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/FloggerPerWithoutRateLimit\"\u003e\u003ccode\u003eFloggerPerWithoutRateLimit\u003c/code\u003e\u003c/a\u003e: discourage Flogger's \u003ccode\u003eperUnique\u003c/code\u003e without rate limiting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/StringJoin\"\u003e\u003ccode\u003eStringJoin\u003c/code\u003e\u003c/a\u003e: Ban \u003ccode\u003eString.join(CharSequence)\u003c/code\u003e and \u003ccode\u003eString.join(CharSequence, CharSequence)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThreadBuilderNameWithPlaceholder\"\u003e\u003ccode\u003eThreadBuilderNameWithPlaceholder\u003c/code\u003e\u003c/a\u003e: Do not allow placeholders in \u003ccode\u003eThread.Builder.name(String)\u003c/code\u003e or \u003ccode\u003ename(String, int)\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe return type of \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e has changed. The previous type was \u003ccode\u003eEnumSet\u0026lt;Flags.Flag\u0026gt;\u003c/code\u003e, where \u003ccode\u003eFlags.Flag\u003c/code\u003e is an enum in the javac class \u003ccode\u003eFlags\u003c/code\u003e. A recent JDK change has replaced that enum with a new top-level enum called \u003ccode\u003eFlagsEnum\u003c/code\u003e. It is not possible to change \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e in a way that would be type-safe and compatible with the enums from JDKs both before and after the change. Instead, the method now returns \u003ccode\u003eImmutableSet\u0026lt;String\u0026gt;\u003c/code\u003e, where the strings come from the \u003ccode\u003etoString()\u003c/code\u003e of the enum constants. That means they are \u003ccode\u003e\u0026quot;native\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;abstract\u0026quot;\u003c/code\u003e, etc.\u003c/li\u003e\n\u003cli\u003eFlag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ca href=\"https://errorprone.info/bugpattern/SystemOut\"\u003e\u003ccode\u003eSystemOut\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.41.0...v2.42.0\"\u003ehttps://github.com/google/error-prone/compare/v2.41.0...v2.42.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.41.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/EffectivelyPrivate\"\u003eEffectivelyPrivate\u003c/a\u003e: Detect declarations that have \u003ccode\u003epublic\u003c/code\u003e or \u003ccode\u003eprotected\u003c/code\u003e modifiers, but are effectively private\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip BooleanLiteral findings if the target type is boxed (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5134\"\u003e#5134\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.40.0...v2.41.0\"\u003ehttps://github.com/google/error-prone/compare/v2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.40.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and improvements\u003c/li\u003e\n\u003cli\u003eReleases (including snapshots) have migrated from \u003ca href=\"https://central.sonatype.org/pages/ossrh-eol/#process-to-migrate\"\u003eOSSRH to the Central Publisher Portal\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.39.0...v2.40.0\"\u003ehttps://github.com/google/error-prone/compare/v2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.39.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTemporarily downgrade to Guava 33.4.0 (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5108\"\u003e#5108\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChecks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BooleanLiteral\"\u003e\u003ccode\u003eBooleanLiteral\u003c/code\u003e\u003c/a\u003e: Prefer \u003ccode\u003etrue\u003c/code\u003e to \u003ccode\u003eBoolean.TRUE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExpensiveLenientFormatString\"\u003e\u003ccode\u003eExpensiveLenientFormatString\u003c/code\u003e\u003c/a\u003e: Renamed from \u003ccode\u003ePreconditionsExpensiveString\u003c/code\u003e, detects unnecessary calls to \u003ccode\u003eString.format\u003c/code\u003e in the arguments of lenient formatting methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/UnnecessaryQualifier\"\u003e\u003ccode\u003eUnnecessaryQualifier\u003c/code\u003e\u003c/a\u003e: Detects \u003ccode\u003e@Qualifier\u003c/code\u003e or \u003ccode\u003e@BindingAnnotation\u003c/code\u003e annotations that have no effect, and can be removed\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/4996\"\u003e#4996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5045\"\u003e#5045\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.38.0...v2.39.0\"\u003ehttps://github.com/google/error-prone/compare/v2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.38.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/google/error-prone/commit/52b61801ceacc31be26261a14e4eb95bee68cdd8\"\u003e\u003ccode\u003e52b6180\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/691c64a24ac430fa26a69ff3ae62fdba0346e0df\"\u003e\u003ccode\u003e691c64a\u003c/code\u003e\u003c/a\u003e Flag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ccode\u003eSystemOut\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/0b751cd69ac278d63686a776cd55a067b7bff7ae\"\u003e\u003ccode\u003e0b751cd\u003c/code\u003e\u003c/a\u003e ExpicitArrayForVarargs: flag unnecessary explicit construction of an array to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/982fe208c273cc82e838efbbc9c001b857cd239e\"\u003e\u003ccode\u003e982fe20\u003c/code\u003e\u003c/a\u003e Tweak links to point to newer versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a2df97f0d3842e1d45f26bf085a3a95f273346be\"\u003e\u003ccode\u003ea2df97f\u003c/code\u003e\u003c/a\u003e [StatementSwitchToExpressionSwitch] fix bug where \u003ccode\u003ecase null\u003c/code\u003e can sometimes b...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/e691be588c891d4fc10cb41f019960accd21db2d\"\u003e\u003ccode\u003ee691be5\u003c/code\u003e\u003c/a\u003e Fix (behind a flag) a silly bug in RedundantSetterCall.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/ce1a422f3f92a9a9c6434a9e0e00df5ce9877df2\"\u003e\u003ccode\u003ece1a422\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eDurations.wait()\u003c/code\u003e to \u003ccode\u003eWaitMatchers.waitMethodWithTimeout\u003c/code\u003e (and make them...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da03fea47dd31b1a63932d78f3d91fb383cce8d1\"\u003e\u003ccode\u003eda03fea\u003c/code\u003e\u003c/a\u003e Update MethodCanBeStatic to be able to detect and trigger on Guice \u003ca href=\"https://github.com/Provides\"\u003e\u003ccode\u003e@​Provides\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/83e6582d6333d2e2d5e5f2f279c630d54ae65fae\"\u003e\u003ccode\u003e83e6582\u003c/code\u003e\u003c/a\u003e RedundantSetterCall: note that setFooValue and setFooBytes can be aliases for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/db62c8c27ec5984058788547958f2f7c8d1bee95\"\u003e\u003ccode\u003edb62c8c\u003c/code\u003e\u003c/a\u003e Automated rollback of commit e1b16e24461d90f2b11f8213a68bfccc0426d4f3.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.36.0...v2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commons-codec:commons-codec` from 1.15 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt\"\u003ecommons-codec:commons-codec's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons Codec 1.19.0 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons Codec team is pleased to announce the release of Apache Commons Codec 1.19.0.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons Codec component contains encoders and decoders for\nformats such as Base16, Base32, Base64, digest, and Hexadecimal. In addition to these\nwidely used encoders and decoders, the codec package also maintains a\ncollection of phonetic encoding utilities.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add HmacUtils.hmac(Path). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add HmacUtils.hmacHex(Path). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add PMD check to the default Maven goal. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add SpotBugs check to the default Maven goal. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Remove -nouses directive from maven-bundle-plugin. OSGi package imports now state 'uses' definitions for package imports, this doesn't affect JPMS (from org.apache.commons:commons-parent:80). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Refactor DigestUtils.updateDigest(MessageDigest, File) to use NIO. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCODEC-328:  Clarify Javadoc for org.apache.commons.codec.digest.UnixCrypt.crypt(byte[],String). Thanks to Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in DaitchMokotoffSoundex.Rule. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in DaitchMokotoffSoundex.parseRules(Scanner, String, Map, Map). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in Lang.loadFromResource(String, Languages). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in PhoneticEngine.encode(String, LanguageSet). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in org.apache.commons.codec.language.bm.Rule.parse*(*). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Remove redundant checks for whitespace in DaitchMokotoffSoundex.soundex(String, boolean). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Javadoc typo in Base16.java [#380](https://github.com/apache/commons-codec/issues/380). Thanks to Sebastian Baunsgaard.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Deprecate unused constant org.apache.commons.codec.language.bm.Rule.ALL. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCODEC-331:  org.apache.commons.codec.language.bm.Rule.parsePhonemeExpr(String) adds duplicate empty phoneme when input ends with |. Thanks to IlikeCode, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCODEC-331:  org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String) does not remove special characters like punctuation. Thanks to IlikeCode, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD multiple UnnecessaryFullyQualifiedName in org.apache.commons.codec.binary.StringUtils. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD UnusedFormalParameter in private constructor in org.apache.commons.codec.binary.Base16. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD multiple UnnecessaryFullyQualifiedName in org.apache.commons.codec.digest.Blake3. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD UnnecessaryFullyQualifiedName in org.apache.commons.codec.digest.Md5Crypt. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD EmptyControlStatement in org.apache.commons.codec.language.Metaphone. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix SpotBugs [ERROR] Medium: org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder.setEncodeTable(byte[]) may expose internal representation by storing an externally mutable object into BaseNCodec$AbstractBuilder.encodeTable [org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder] At BaseNCodec.java:[line 131] EI_EXPOSE_REP2. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        The method org.apache.commons.codec.binary.BaseNCodec.AbstractBuilder.setLineSeparator(byte...) now makes a defensive copy. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Avoid unnecessary String conversion in org.apache.commons.codec.language.bm.PhoneticEngine.applyFinalRules(PhonemeBuilder, Map). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix SpotBugs [ERROR] High: Potentially dangerous use of non-short-circuit logic in org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String) [org.apache.commons.codec.language.DaitchMokotoffSoundex] At DaitchMokotoffSoundex.java:[line 350] NS_DANGEROUS_NON_SHORT_CIRCUIT. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\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/apache/commons-codec/commit/351cb22e1e1948aaabb39a463dce631bea156125\"\u003e\u003ccode\u003e351cb22\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.19.0 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/0d501b60e50ea50e247d8d804945b9a39974ed52\"\u003e\u003ccode\u003e0d501b6\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/d6d4b824539b0d4794200d05286fd3de1ff2f236\"\u003e\u003ccode\u003ed6d4b82\u003c/code\u003e\u003c/a\u003e Refactor duplicate code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/6d6456ca94448ba8ea105e697e3f89a67f3cb7c1\"\u003e\u003ccode\u003e6d6456c\u003c/code\u003e\u003c/a\u003e No need to exclude abstract test classes from Surefire runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/22d62e41374cfe558f995fd2c0f490e6f93339d6\"\u003e\u003ccode\u003e22d62e4\u003c/code\u003e\u003c/a\u003e No need to specify the default value for linkXref\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/c4daf34d4aeb1193ba8feab437b86a871c6b123d\"\u003e\u003ccode\u003ec4daf34\u003c/code\u003e\u003c/a\u003e No longer need to override the version of the Jacoco Maven plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/8f2b67337af5dc40a3701346c6302ab0cf5ca554\"\u003e\u003ccode\u003e8f2b673\u003c/code\u003e\u003c/a\u003e Remove workaround for [SUREFIRE-2253]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/466a61d3f957a9a0727937b3772dc6880db22f01\"\u003e\u003ccode\u003e466a61d\u003c/code\u003e\u003c/a\u003e Fix Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/ca27bd30b6170561786d421eb48f1535dc41336f\"\u003e\u003ccode\u003eca27bd3\u003c/code\u003e\u003c/a\u003e Fix Checkstyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/1dfb4e5bbdc604dc72fe671fded50a5c91bc7543\"\u003e\u003ccode\u003e1dfb4e5\u003c/code\u003e\u003c/a\u003e Better internal method name\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-codec/compare/rel/commons-codec-1.15...rel/commons-codec-1.19.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.17.2 to 1.21.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup 1.21.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.2\u003c/strong\u003e is out now, adding support for custom \u003ccode\u003eSSLContext\u003c/code\u003e in HTTP/2 connections, and improving consistency in how user data is handled in attributes. It also brings performance gains in DOM manipulation and fragment parsing, and fixes several edge cases in stream parsing, traversal, cloning, and concurrent reads.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ejsoup 1.21.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.1\u003c/strong\u003e is out now, featuring powerful new node selection capabilities that let you target specific DOM nodes like comments and text nodes using CSS selectors, dynamic tag customization through the new TagSet callback system, and improved defense against mutation XSS attacks with simplified attribute escaping. This release also brings HTTP/2 support by default, numerous API improvements for better developer experience, and fixes for several edge-case parsing issues.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; type)\u003c/code\u003e method instead. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull(Object)\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull(T)\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; nodeType)\u003c/code\u003e for direct node selection. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2330\"\u003e#2330\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection.Response#readBody()\u003c/code\u003e over \u003ccode\u003eConnection.Response#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\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\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.21.2 (2025-Aug-25)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.1 (2025-Jun-23)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class type)\u003c/code\u003e method instead. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class nodeType)\u003c/code\u003e for direct node selection. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace).\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection#readBody()\u003c/code\u003e over \u003ccode\u003eConnection#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe contents of a \u003ccode\u003escript\u003c/code\u003e in a \u003ccode\u003esvg\u003c/code\u003e foreign context should be parsed as script data, not text. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2320\"\u003e#2320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTag#isFormSubmittable()\u003c/code\u003e was updating the Tag's options. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2323\"\u003e#2323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML pretty-printer would incorrectly trim whitespace when text followed an inline element in a block element. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2325\"\u003e#2325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom tags with hyphens or other non-letter characters in their names now work correctly as Data or RcData tags. Their closing tags are now tokenized properly. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2332\"\u003e#2332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen cloning an Element, the clone would retain the source's cached child Element list (if any), which could lead to incorrect results when modifying the clone's child elements. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2334\"\u003e#2334\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/b02837b6c77b94799c055f8fa446fb770bfb49f1\"\u003e\u003ccode\u003eb02837b\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.21.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1f0c2070e78b5d171c4e5896930c612c58474608\"\u003e\u003ccode\u003e1f0c207\u003c/code\u003e\u003c/a\u003e v1.21.2 release date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/b0934637750ed6ddd91bf344842c8c5aad1fb70f\"\u003e\u003ccode\u003eb093463\u003c/code\u003e\u003c/a\u003e Use central-publishing-maven-plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/615b9592ffe8e65b4e461f7727081995931154ce\"\u003e\u003ccode\u003e615b959\u003c/code\u003e\u003c/a\u003e Updating sonatype deploy URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/69617205f80df06acf2adb38fd8a19f3724b6845\"\u003e\u003ccode\u003e6961720\u003c/code\u003e\u003c/a\u003e Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2386\"\u003e#2386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/82864b246c0005cc66a50daede3568f930504030\"\u003e\u003ccode\u003e82864b2\u003c/code\u003e\u003c/a\u003e Bump jetty.version from 9.4.57.v20241219 to 9.4.58.v20250814 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2385\"\u003e#2385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/71f963ea3a78746fc2a3ba80b2843254b35c211a\"\u003e\u003ccode\u003e71f963e\u003c/code\u003e\u003c/a\u003e Fix for HTML that breaks the select scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/6b20f6e3d158d1ce3147c4e9306d9b485e083bf4\"\u003e\u003ccode\u003e6b20f6e\u003c/code\u003e\u003c/a\u003e Removed effective recursion closing \u003ccode\u003e\\\u0026lt;/select\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/eb2957a8b3e8c12649c5b83872a238dd74e68dec\"\u003e\u003ccode\u003eeb2957a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2382\"\u003e#2382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/3a9a6c7c8a67d51ebbb598495496e28dcd0c18e1\"\u003e\u003ccode\u003e3a9a6c7\u003c/code\u003e\u003c/a\u003e Fix ProxyTest in CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.17.2...jsoup-1.21.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.infradna.tool:bridge-method-annotation` from 1.18 to 1.24\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/90b05fc5d86b8e9362bbb31ccc37b28abdc67e52\"\u003e\u003ccode\u003e90b05fc\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1e3123cf4feaa612e6aa77ccf1a12cfd61a473a9\"\u003e\u003ccode\u003e1e3123c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/29\"\u003e#29\u003c/a\u003e from basil/asm-9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/c89b1025f3a4808e3d03a8a84b3f4ece06b96bf1\"\u003e\u003ccode\u003ec89b102\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.2 to 9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a60c63572dbb7a1d1aa91b5fbb0866517db88836\"\u003e\u003ccode\u003ea60c635\u003c/code\u003e\u003c/a\u003e Replaced by README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/8a5b5e9c6d5036aa492e43d3552b40cba07e5d8b\"\u003e\u003ccode\u003e8a5b5e9\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/677782c5cd7b3df04755b6f515c184748b019770\"\u003e\u003ccode\u003e677782c\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/jenkinsci/bridge-method-injector/commit/4682998f65e92142b9b3b185c63eb40ea0ed8c07\"\u003e\u003ccode\u003e4682998\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a2c094ff373921db7d71551d8f3fcd868c56e467\"\u003e\u003ccode\u003ea2c094f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/27\"\u003e#27\u003c/a\u003e from basil/asm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/cd1a8efd21354ac75447e338eee3298b7aa2386a\"\u003e\u003ccode\u003ecd1a8ef\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.0 to 9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1567095d18f443e5cbeb4593520f6fc0345b32fb\"\u003e\u003ccode\u003e1567095\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/infradna/bridge-method-injector/compare/bridge-method-injector-parent-1.18...bridge-method-injector-parent-1.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.kohsuke:github-api` from 1.303 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.303...github-api-1.330\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.commons:commons-collections4` from 4.4 to 4.5.0\n\nUpdates `org.apache.commons:commons-csv` from 1.10.0 to 1.14.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-csv/blob/master/RELEASE-NOTES.txt\"\u003eorg.apache.commons:commons-csv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons CSV 1.14.1 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons CSV team is pleased to announce the release of Apache Commons CSV 1.14.1.\u003c/p\u003e\n\u003cp\u003eThis document contains the release notes for the 1.14.1 version of Apache Commons CSV.\nCommons CSV reads and writes files in Comma Separated Value (CSV) format variations.\u003c/p\u003e\n\u003cp\u003eCommons CSV requires at least Java 8.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003cp\u003eChanges in this version include:\u003c/p\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCSV-318:  CSVPrinter.printRecord(Stream) hangs if given a parallel stream. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCSV-318:  CSVPrinter now uses an internal lock instead of synchronized methods. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      org.apache.commons.csv.CSVPrinter.printRecords(ResultSet) now writes one record at a time using a lock. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-parent from 81 to 85 [#542](https://github.com/apache/commons-csv/issues/542). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-io:commons-io from 2.18.0 to 2.20.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump com.opencsv:opencsv from 5.10 to 5.11.2 [#545](https://github.com/apache/commons-csv/issues/545), [#551](https://github.com/apache/commons-csv/issues/551), [#553](https://github.com/apache/commons-csv/issues/553). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 [#556](https://github.com/apache/commons-csv/issues/556). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-codec:commons-codec from 1.18.0 to 1.19.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHistorical list of changes: \u003ca href=\"https://commons.apache.org/proper/commons-csv/changes.html\"\u003ehttps://commons.apache.org/proper/commons-csv/changes.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFor complete information on Apache Commons CSV, including instructions on how to submit bug reports,\npatches, or suggestions for improvement, see the Apache Commons CSV website:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://commons.apache.org/proper/commons-csv/\"\u003ehttps://commons.apache.org/proper/commons-csv/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDownload page: \u003ca href=\"https://commons.apache.org/proper/commons-csv/download_csv.cgi\"\u003ehttps://commons.apache.org/proper/commons-csv/download_csv.cgi\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eHave fun!\n-Apache Commons CSV team\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eApache Commons CSV 1.14.0 Release Notes\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/apache/commons-csv/commit/e14ef86d34211f9d1b9b6040c5f6dbafc93ba907\"\u003e\u003ccode\u003ee14ef86\u003c/code\u003e\u003c/a\u003e Ignore macOS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/d8724bf76a7d6abbb93aad65e316f050f86a256d\"\u003e\u003ccode\u003ed8724bf\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.14.1 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b76971c25af176f901c003b25d6a5f4f6edc87ad\"\u003e\u003ccode\u003eb76971c\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b66814ef248186b7a8316b85e1208c705dba06e3\"\u003e\u003ccode\u003eb66814e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/apache/commons-csv/issues/557\"\u003e#557\u003c/a\u003e from apache/dependabot/github_actions/github/codeql-a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/9c95e92d6aaa4d052a139158a900395646c6652e\"\u003e\u003ccode\u003e9c95e92\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.29.2 to 3.29.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/1fb37163f9fe59aa13c63efd53e71d7a0392be4c\"\u003e\u003ccode\u003e1fb3716\u003c/code\u003e\u003c/a\u003e Bump commons-codec:commons-codec from 1.18.0 to 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/7b72c509f73e05ca2bf2f0945a6a1cb03f87bd39\"\u003e\u003ccode\u003e7b72c50\u003c/code\u003e\u003c/a\u003e Merge some string literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/96583732b6be55d459a5b430c4a3a3bb2126db10\"\u003e\u003ccode\u003e9658373\u003c/code\u003e\u003c/a\u003e Update the GitHub pull request template for AI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/67192a9e0af58bdf49edf4e0d29f50343da82c70\"\u003e\u003ccode\u003e67192a9\u003c/code\u003e\u003c/a\u003e Bump commons-io:commons-io from 2.19.0 to 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/59164c8b795ebd4cc0362c4c74d7c893c4a50303\"\u003e\u003ccode\u003e59164c8\u003c/code\u003e\u003c/a\u003e Bump com.opencsv:opencsv from 5.11.1 to 5.11.2 \u003ca href=\"https://redirect.github.com/apache/commons-csv/issues/553\"\u003e#553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-csv/compare/rel/commons-csv-1.10.0...rel/commons-csv-1.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commons-io:commons-io` from 2.16.1 to 2.20.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-io/blob/master/RELEASE-NOTES.txt\"\u003ecommons-io:commons-io's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eApache Commons IO 2.20.0 Release Notes\u003c/p\u003e\n\u003cp\u003eThe Apache Commons IO team is pleased to announce the release of Apache Commons IO 2.20.0.\u003c/p\u003e\n\u003ch2\u003eIntroduction\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons IO library contains utility classes, stream implementations, file filters,\nfile comparators, endian transformation classes, and much more.\u003c/p\u003e\n\u003cp\u003eVersion 2.19.1: Java 8 or later is required.\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cp\u003eo IO-875:  Add org.apache.commons.io.file.CountingPathVisitor.accept(Path, BasicFileAttributes) \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/743\"\u003e#743\u003c/a\u003e. Thanks to Pierre Baumard, Gary Gregory.\no          Add org.apache.commons.io.Charsets.isAlias(Charset, String). Thanks to Gary Gregory.\no          Add org.apache.commons.io.Charsets.isUTF8(Charset). Thanks to Gary Gregory.\no          Add org.apache.commons.io.Charsets.toCharsetDefault(String, Charset). Thanks to Gary Gregory.\no IO-279:  Add Tailer ignoreTouch option \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/757\"\u003e#757\u003c/a\u003e. Thanks to Joerg Budischewski, Gary Gregory.\u003c/p\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cp\u003eo          [javadoc] Rename parameter of ProxyOutputStream.write(int) \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/740\"\u003e#740\u003c/a\u003e. Thanks to Jesse Glick.\no IO-875:  CopyDirectoryVisitor ignores fileFilter \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/743\"\u003e#743\u003c/a\u003e. Thanks to Pierre Baumard, Gary Gregory.\no          org.apache.commons.io.build.AbstractOrigin.getReader(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.\no          org.apache.commons.io.build.AbstractOrigin.AbstractRandomAccessFileOrigin.getReader(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.\no          org.apache.commons.io.build.AbstractOrigin.ByeArrayOrigin.getReader(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.\no          org.apache.commons.io.build.AbstractOrigin.InputStreamOrigin.getReader(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.\no          org.apache.commons.io.build.AbstractOrigin.getWriter(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.\no          org.apache.commons.io.build.AbstractOrigin.AbstractRandomAccessFileOrigin.getWriter(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.\no          org.apache.commons.io.build.AbstractOrigin.OutputStreamOrigin.getWriter(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.\no          FileUtils.readLines(File, Charset) now maps a null Charset to the default Charset \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/744\"\u003e#744\u003c/a\u003e. Thanks to Ryan Kurtz, Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;atSlashCr\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.WindowsLineEndingInputStream, org.apache.commons.io.input.WindowsLineEndingInputStream] At WindowsLineEndingInputStream.java:[line 77]Another occurrence at WindowsLineEndingInputStream.java:[line 81] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;atSlashCr\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.WindowsLineEndingInputStream] At WindowsLineEndingInputStream.java:[line 112] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;atSlashLf\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.WindowsLineEndingInputStream] At WindowsLineEndingInputStream.java:[line 113] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;atSlashLf\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.UnixLineEndingInputStream] At UnixLineEndingInputStream.java:[line 75] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;atEos\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.UnixLineEndingInputStream] At UnixLineEndingInputStream.java:[line 120] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;atSlashCr\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.UnixLineEndingInputStream] At UnixLineEndingInputStream.java:[line 124] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;atSlashLf\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.UnixLineEndingInputStream] At UnixLineEndingInputStream.java:[line 125] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;closed\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.ProxyInputStream] At ProxyInputStream.java:[line 233] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;propagateClose\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.BoundedInputStream] At BoundedInputStream.java:[line 555] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          QueueInputStream reads all but the first byte without waiting. \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/748\"\u003e#748\u003c/a\u003e. Thanks to maxxedev, Piotr P. Karwasz, Gary Gregory.\no          Javadoc fixes and improvements. Thanks to Gary Gregory.\no          Avoid NPE in org.apache.commons.io.filefilter.WildcardFilter.accept(File). Thanks to Gary Gregory.\no IO-874:  FileUtils.forceDelete can delete a broken symlink again \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/756\"\u003e#756\u003c/a\u003e. Thanks to Andy Russell, Joerg Budischewski.\no          Fix infinite loop in AbstractByteArrayOutputStream. \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/758\"\u003e#758\u003c/a\u003e. Thanks to Alex Benusovich.\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/apache/commons-io/commit/c224bce839494ed651e5eba320b27c73ce8d804e\"\u003e\u003ccode\u003ec224bce\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 2.20.0 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/8981a5c9664574003f5d7620cf5133325161e543\"\u003e\u003ccode\u003e8981a5c\u003c/code\u003e\u003c/a\u003e Remove workaround for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/4ef481f14220c19f6114a3f793df2202bb1336a6\"\u003e\u003ccode\u003e4ef481f\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/d23228f4a94bd070b0505e5a528da1413915c8a4\"\u003e\u003ccode\u003ed23228f\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of \u003ca href=\"https://github.com/apache/commons-io.git\"\u003ehttps://github.com/apache/commons-io.git\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/5d2737ffe489b91c4af7ccddfeda93d860750729\"\u003e\u003ccode\u003e5d2737f\u003c/code\u003e\u003c/a\u003e Add \u003ca href=\"https://github.com/SuppressWarnings\"\u003e\u003ccode\u003e@​SuppressWarnings\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/e5c80d6eff29b9a3b2b917356345d90237e84e57\"\u003e\u003ccode\u003ee5c80d6\u003c/code\u003e\u003c/a\u003e Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/761\"\u003e#761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/2017ac063c1cc284dc855265a15a4e2dfdc653e4\"\u003e\u003ccode\u003e2017ac0\u003c/code\u003e\u003c/a\u003e Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 (\u003ca href=\"https://redirect.github.com/apache/commons-io/issues/761\"\u003e#761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/07ce798898b6c6ca639e6ad0e2beecf55cf00d7a\"\u003e\u003ccode\u003e07ce798\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/a828efa09f5b32f80485c2302caf78b8ee3c857c\"\u003e\u003ccode\u003ea828efa\u003c/code\u003e\u003c/a\u003e Add ciManagement element to POM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/46bd1c2955a29d676bfbc3fea6cce84918ba6ac5\"\u003e\u003ccode\u003e46bd1c2\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-io/compare/rel/commons-io-2.16.1...rel/commons-io-2.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson:jackson-bom` from 2.19.1 to 2.20.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/54f854ba1ce69c5827f8acf6d08ba2d7ce36233c\"\u003e\u003ccode\u003e54f854b\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/9cc68d43adb6f6326c44a0afe5afcdde186f857d\"\u003e\u003ccode\u003e9cc68d4\u003c/code\u003e\u003c/a\u003e Prep for 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/cbef80087fdfb5374acc0b807e8d3336cf2d7bc8\"\u003e\u003ccode\u003ecbef800\u003c/code\u003e\u003c/a\u003e Version sync for 2.20.0 release (in near future)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/79bc4edc6d7650da63ff3cd27ec1de130cf5c1f7\"\u003e\u003ccode\u003e79bc4ed\u003c/code\u003e\u003c/a\u003e Back to snapshot deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/94947a0d356baf31d171ed90d7aa750a15a9abe9\"\u003e\u003ccode\u003e94947a0\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/369dffea7dbc1b0b98accdf1a8d5029cbeeb3dc0\"\u003e\u003ccode\u003e369dffe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-2.20.0-rc1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c5caaf295107e42065e4b54b2cca6bc421c2e63b\"\u003e\u003ccode\u003ec5caaf2\u003c/code\u003e\u003c/a\u003e Prep for 2.20.0-rc1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8ad6e0abca30ee7a3ec7e3c1225e7c100b9879ae\"\u003e\u003ccode\u003e8ad6e0a\u003c/code\u003e\u003c/a\u003e Move to 2.20.0-rc1-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/500ef4da17847b718b72690fb0d8eb488e4092f7\"\u003e\u003ccode\u003e500ef4d\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/274f22895e1747c2340f1678cdca10a2d8d33a58\"\u003e\u003ccode\u003e274f228\u003c/code\u003e\u003c/a\u003e Back to snapshot deps\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-2.19.1...jackson-bom-2.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.datanucleus:datanucleus-accessplatform-jdo-rdbms` fro...\n\n_Description has been truncated_","html_url":"https://github.com/ricekot/zap-extensions/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricekot%2Fzap-extensions/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"},{"uuid":"2884935900","node_id":"PR_kwDODf4ejs6r9KDc","number":7,"state":"closed","title":"build(deps): bump the gradle group with 51 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-03T14:04:38.000Z","author_association":"NONE","state_reason":null,"created_at":"2025-10-03T13:16:15.000Z","updated_at":"2025-10-03T14:04:38.000Z","time_to_close":2903,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":51,"packages":[{"name":"com.google.errorprone:error_prone_core","old_version":"2.36.0","new_version":"2.42.0","repository_url":"https://github.com/google/error-prone"},{"name":"biz.aQute.bnd:biz.aQute.bnd.annotation","old_version":"6.4.1","new_version":"7.1.0","repository_url":"https://github.com/bndtools/bnd"},{"name":"commons-codec:commons-codec","old_version":"1.15","new_version":"1.19.0","repository_url":"https://github.com/apache/commons-codec"},{"name":"io.github.bonigarcia:webdrivermanager","old_version":"5.7.0","new_version":"6.3.2","repository_url":"https://github.com/bonigarcia/webdrivermanager"},{"name":"org.jsoup:jsoup","old_version":"1.17.2","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.infradna.tool:bridge-method-annotation","old_version":"1.18","new_version":"1.24","repository_url":"https://github.com/infradna/bridge-method-injector"},{"name":"org.kohsuke:github-api","old_version":"1.303","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.github.spotbugs:spotbugs-annotations","old_version":"3.1.12","new_version":"4.9.6","repository_url":"https://github.com/spotbugs/spotbugs"},{"name":"org.apache.commons:commons-collections4","old_version":"4.4","new_version":"4.5.0"},{"name":"org.apache.commons:commons-csv","old_version":"1.10.0","new_version":"1.14.1","repository_url":"https://github.com/apache/commons-csv"},{"name":"commons-io:commons-io","old_version":"2.16.1","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.fasterxml.jackson:jackson-bom","old_version":"2.19.1","new_version":"2.20.0","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.datanucleus:datanucleus-accessplatform-jdo-rdbms","old_version":"6.0.7","new_version":"6.0.10","repository_url":"https://github.com/datanucleus/datanucleus-accessplatform"},{"name":"org.flywaydb:flyway-core","old_version":"9.22.3","new_version":"11.13.2","repository_url":"https://github.com/flyway/flyway"},{"name":"org.xerial:sqlite-jdbc","old_version":"3.45.3.0","new_version":"3.50.3.0","repository_url":"https://github.com/xerial/sqlite-jdbc"},{"name":"de.sstoehr:har-reader","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/sdstoehr/har-reader"},{"name":"io.hektor:hektor-fsm","old_version":"0.0.5","new_version":"0.0.8","repository_url":"https://github.com/sniceio/hektor"},{"name":"com.github.curious-odd-man:rgxgen","old_version":"2.0","new_version":"3.1","repository_url":"https://github.com/curious-odd-man/RgxGen"},{"name":"com.natpryce:snodge","old_version":"2.1.2.2","new_version":"3.7.0.0","repository_url":"https://github.com/npryce/snodge"},{"name":"org.codehaus.groovy:groovy-all","old_version":"3.0.14","new_version":"3.0.25","repository_url":"https://github.com/apache/groovy"},{"name":"io.grpc:grpc-protobuf","old_version":"1.61.1","new_version":"1.75.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"org.jruby:jruby-complete","old_version":"1.7.4","new_version":"9.4.14.0"},{"name":"org.python:jython-standalone","old_version":"2.7.2","new_version":"2.7.4","repository_url":"https://github.com/jython/jython"},{"name":"dev.langchain4j:langchain4j","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-azure-open-ai","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-ollama","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"org.htmlunit:htmlunit-csp","old_version":"4.0.0","new_version":"4.16.0","repository_url":"https://github.com/HtmlUnit/htmlunit-csp"},{"name":"com.google.re2j:re2j","old_version":"1.7","new_version":"1.8","repository_url":"https://github.com/google/re2j"},{"name":"org.xhtmlrenderer:flying-saucer-pdf","old_version":"9.3.1","new_version":"9.13.3","repository_url":"https://github.com/flyingsaucerproject/flyingsaucer"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.2.RELEASE","new_version":"3.1.3.RELEASE"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"2.3.2","new_version":"4.0.6"},{"name":"net.bytebuddy:byte-buddy","old_version":"1.14.13","new_version":"1.17.7","repository_url":"https://github.com/raphw/byte-buddy"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.19.0"},{"name":"org.seleniumhq.selenium:selenium-java","old_version":"4.35.0","new_version":"4.36.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"jakarta.xml.soap:jakarta.xml.soap-api","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/jakartaee/saaj-api"},{"name":"com.sun.xml.messaging.saaj:saaj-impl","old_version":"3.0.0","new_version":"3.0.4"},{"name":"com.predic8:soa-model-core","old_version":"2.0.1","new_version":"2.2.0","repository_url":"https://github.com/membrane/soa-model"},{"name":"io.kaitai:kaitai-struct-runtime","old_version":"0.10","new_version":"0.11","repository_url":"https://github.com/kaitai-io/kaitai_struct_java_runtime"},{"name":"org.slf4j:jcl-over-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:jul-to-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:slf4j-log4j12","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.hamcrest:hamcrest-library","old_version":"2.2","new_version":"3.0","repository_url":"https://github.com/hamcrest/JavaHamcrest"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.10.0","new_version":"5.20.0","repository_url":"https://github.com/mockito/mockito"},{"name":"io.github.bonigarcia:selenium-jupiter","old_version":"5.1.1","new_version":"6.3.1","repository_url":"https://github.com/bonigarcia/selenium-jupiter"},{"name":"com.github.weisj:jsvg","old_version":"1.4.0","new_version":"2.0.0","repository_url":"https://github.com/weisJ/jsvg"},{"name":"org.cyclonedx.bom","old_version":"2.2.0","new_version":"3.0.0"},{"name":"com.github.ben-manes.versions","old_version":"0.52.0","new_version":"0.53.0"},{"name":"net.ltgt.errorprone","old_version":"4.1.0","new_version":"4.3.0"},{"name":"io.freefair.lombok","old_version":"8.12.2","new_version":"9.0.0","repository_url":"https://github.com/freefair/gradle-plugins"},{"name":"org.sonarqube","old_version":"4.3.0.3225","new_version":"6.3.1.5724"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 51 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.36.0` | `2.42.0` |\n| [biz.aQute.bnd:biz.aQute.bnd.annotation](https://github.com/bndtools/bnd) | `6.4.1` | `7.1.0` |\n| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.15` | `1.19.0` |\n| [io.github.bonigarcia:webdrivermanager](https://github.com/bonigarcia/webdrivermanager) | `5.7.0` | `6.3.2` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.2` | `1.21.2` |\n| [com.infradna.tool:bridge-method-annotation](https://github.com/infradna/bridge-method-injector) | `1.18` | `1.24` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.303` | `1.330` |\n| [com.github.spotbugs:spotbugs-annotations](https://github.com/spotbugs/spotbugs) | `3.1.12` | `4.9.6` |\n| org.apache.commons:commons-collections4 | `4.4` | `4.5.0` |\n| [org.apache.commons:commons-csv](https://github.com/apache/commons-csv) | `1.10.0` | `1.14.1` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.16.1` | `2.20.0` |\n| [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `2.19.1` | `2.20.0` |\n| [org.datanucleus:datanucleus-accessplatform-jdo-rdbms](https://github.com/datanucleus/datanucleus-accessplatform) | `6.0.7` | `6.0.10` |\n| [org.flywaydb:flyway-core](https://github.com/flyway/flyway) | `9.22.3` | `11.13.2` |\n| [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) | `3.45.3.0` | `3.50.3.0` |\n| [de.sstoehr:har-reader](https://github.com/sdstoehr/har-reader) | `3.1.4` | `3.1.6` |\n| [io.hektor:hektor-fsm](https://github.com/sniceio/hektor) | `0.0.5` | `0.0.8` |\n| [com.github.curious-odd-man:rgxgen](https://github.com/curious-odd-man/RgxGen) | `2.0` | `3.1` |\n| [com.natpryce:snodge](https://github.com/npryce/snodge) | `2.1.2.2` | `3.7.0.0` |\n| [org.codehaus.groovy:groovy-all](https://github.com/apache/groovy) | `3.0.14` | `3.0.25` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.61.1` | `1.75.0` |\n| org.jruby:jruby-complete | `1.7.4` | `9.4.14.0` |\n| [org.python:jython-standalone](https://github.com/jython/jython) | `2.7.2` | `2.7.4` |\n| [dev.langchain4j:langchain4j](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-azure-open-ai](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-ollama](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [org.htmlunit:htmlunit-csp](https://github.com/HtmlUnit/htmlunit-csp) | `4.0.0` | `4.16.0` |\n| [com.google.re2j:re2j](https://github.com/google/re2j) | `1.7` | `1.8` |\n| [org.xhtmlrenderer:flying-saucer-pdf](https://github.com/flyingsaucerproject/flyingsaucer) | `9.3.1` | `9.13.3` |\n| org.thymeleaf:thymeleaf | `3.1.2.RELEASE` | `3.1.3.RELEASE` |\n| org.glassfish.jaxb:jaxb-runtime | `2.3.2` | `4.0.6` |\n| [net.bytebuddy:byte-buddy](https://github.com/raphw/byte-buddy) | `1.14.13` | `1.17.7` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.19.0` |\n| [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.36.0` |\n| [jakarta.xml.soap:jakarta.xml.soap-api](https://github.com/jakartaee/saaj-api) | `3.0.0` | `3.0.2` |\n| com.sun.xml.messaging.saaj:saaj-impl | `3.0.0` | `3.0.4` |\n| [com.predic8:soa-model-core](https://github.com/membrane/soa-model) | `2.0.1` | `2.2.0` |\n| [io.kaitai:kaitai-struct-runtime](https://github.com/kaitai-io/kaitai_struct_java_runtime) | `0.10` | `0.11` |\n| org.slf4j:jcl-over-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:jul-to-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:slf4j-log4j12 | `1.7.32` | `2.0.17` |\n| [org.hamcrest:hamcrest-library](https://github.com/hamcrest/JavaHamcrest) | `2.2` | `3.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.10.2` | `6.0.0` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.10.0` | `5.20.0` |\n| [io.github.bonigarcia:selenium-jupiter](https://github.com/bonigarcia/selenium-jupiter) | `5.1.1` | `6.3.1` |\n| [com.github.weisj:jsvg](https://github.com/weisJ/jsvg) | `1.4.0` | `2.0.0` |\n| org.cyclonedx.bom | `2.2.0` | `3.0.0` |\n| com.github.ben-manes.versions | `0.52.0` | `0.53.0` |\n| net.ltgt.errorprone | `4.1.0` | `4.3.0` |\n| [io.freefair.lombok](https://github.com/freefair/gradle-plugins) | `8.12.2` | `9.0.0` |\n| org.sonarqube | `4.3.0.3225` | `6.3.1.5724` |\n\nUpdates `com.google.errorprone:error_prone_core` from 2.36.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.42.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExplicitArrayForVarargs\"\u003e\u003ccode\u003eExplicitArrayForVarargs\u003c/code\u003e\u003c/a\u003e: discourage unnecessary explicit construction of an array to provide varargs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/FloggerPerWithoutRateLimit\"\u003e\u003ccode\u003eFloggerPerWithoutRateLimit\u003c/code\u003e\u003c/a\u003e: discourage Flogger's \u003ccode\u003eperUnique\u003c/code\u003e without rate limiting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/StringJoin\"\u003e\u003ccode\u003eStringJoin\u003c/code\u003e\u003c/a\u003e: Ban \u003ccode\u003eString.join(CharSequence)\u003c/code\u003e and \u003ccode\u003eString.join(CharSequence, CharSequence)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThreadBuilderNameWithPlaceholder\"\u003e\u003ccode\u003eThreadBuilderNameWithPlaceholder\u003c/code\u003e\u003c/a\u003e: Do not allow placeholders in \u003ccode\u003eThread.Builder.name(String)\u003c/code\u003e or \u003ccode\u003ename(String, int)\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe return type of \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e has changed. The previous type was \u003ccode\u003eEnumSet\u0026lt;Flags.Flag\u0026gt;\u003c/code\u003e, where \u003ccode\u003eFlags.Flag\u003c/code\u003e is an enum in the javac class \u003ccode\u003eFlags\u003c/code\u003e. A recent JDK change has replaced that enum with a new top-level enum called \u003ccode\u003eFlagsEnum\u003c/code\u003e. It is not possible to change \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e in a way that would be type-safe and compatible with the enums from JDKs both before and after the change. Instead, the method now returns \u003ccode\u003eImmutableSet\u0026lt;String\u0026gt;\u003c/code\u003e, where the strings come from the \u003ccode\u003etoString()\u003c/code\u003e of the enum constants. That means they are \u003ccode\u003e\u0026quot;native\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;abstract\u0026quot;\u003c/code\u003e, etc.\u003c/li\u003e\n\u003cli\u003eFlag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ca href=\"https://errorprone.info/bugpattern/SystemOut\"\u003e\u003ccode\u003eSystemOut\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.41.0...v2.42.0\"\u003ehttps://github.com/google/error-prone/compare/v2.41.0...v2.42.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.41.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/EffectivelyPrivate\"\u003eEffectivelyPrivate\u003c/a\u003e: Detect declarations that have \u003ccode\u003epublic\u003c/code\u003e or \u003ccode\u003eprotected\u003c/code\u003e modifiers, but are effectively private\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip BooleanLiteral findings if the target type is boxed (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5134\"\u003e#5134\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.40.0...v2.41.0\"\u003ehttps://github.com/google/error-prone/compare/v2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.40.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and improvements\u003c/li\u003e\n\u003cli\u003eReleases (including snapshots) have migrated from \u003ca href=\"https://central.sonatype.org/pages/ossrh-eol/#process-to-migrate\"\u003eOSSRH to the Central Publisher Portal\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.39.0...v2.40.0\"\u003ehttps://github.com/google/error-prone/compare/v2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.39.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTemporarily downgrade to Guava 33.4.0 (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5108\"\u003e#5108\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChecks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BooleanLiteral\"\u003e\u003ccode\u003eBooleanLiteral\u003c/code\u003e\u003c/a\u003e: Prefer \u003ccode\u003etrue\u003c/code\u003e to \u003ccode\u003eBoolean.TRUE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExpensiveLenientFormatString\"\u003e\u003ccode\u003eExpensiveLenientFormatString\u003c/code\u003e\u003c/a\u003e: Renamed from \u003ccode\u003ePreconditionsExpensiveString\u003c/code\u003e, detects unnecessary calls to \u003ccode\u003eString.format\u003c/code\u003e in the arguments of lenient formatting methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/UnnecessaryQualifier\"\u003e\u003ccode\u003eUnnecessaryQualifier\u003c/code\u003e\u003c/a\u003e: Detects \u003ccode\u003e@Qualifier\u003c/code\u003e or \u003ccode\u003e@BindingAnnotation\u003c/code\u003e annotations that have no effect, and can be removed\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/4996\"\u003e#4996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5045\"\u003e#5045\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.38.0...v2.39.0\"\u003ehttps://github.com/google/error-prone/compare/v2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.38.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/google/error-prone/commit/52b61801ceacc31be26261a14e4eb95bee68cdd8\"\u003e\u003ccode\u003e52b6180\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/691c64a24ac430fa26a69ff3ae62fdba0346e0df\"\u003e\u003ccode\u003e691c64a\u003c/code\u003e\u003c/a\u003e Flag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ccode\u003eSystemOut\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/0b751cd69ac278d63686a776cd55a067b7bff7ae\"\u003e\u003ccode\u003e0b751cd\u003c/code\u003e\u003c/a\u003e ExpicitArrayForVarargs: flag unnecessary explicit construction of an array to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/982fe208c273cc82e838efbbc9c001b857cd239e\"\u003e\u003ccode\u003e982fe20\u003c/code\u003e\u003c/a\u003e Tweak links to point to newer versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a2df97f0d3842e1d45f26bf085a3a95f273346be\"\u003e\u003ccode\u003ea2df97f\u003c/code\u003e\u003c/a\u003e [StatementSwitchToExpressionSwitch] fix bug where \u003ccode\u003ecase null\u003c/code\u003e can sometimes b...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/e691be588c891d4fc10cb41f019960accd21db2d\"\u003e\u003ccode\u003ee691be5\u003c/code\u003e\u003c/a\u003e Fix (behind a flag) a silly bug in RedundantSetterCall.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/ce1a422f3f92a9a9c6434a9e0e00df5ce9877df2\"\u003e\u003ccode\u003ece1a422\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eDurations.wait()\u003c/code\u003e to \u003ccode\u003eWaitMatchers.waitMethodWithTimeout\u003c/code\u003e (and make them...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da03fea47dd31b1a63932d78f3d91fb383cce8d1\"\u003e\u003ccode\u003eda03fea\u003c/code\u003e\u003c/a\u003e Update MethodCanBeStatic to be able to detect and trigger on Guice \u003ca href=\"https://github.com/Provides\"\u003e\u003ccode\u003e@​Provides\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/83e6582d6333d2e2d5e5f2f279c630d54ae65fae\"\u003e\u003ccode\u003e83e6582\u003c/code\u003e\u003c/a\u003e RedundantSetterCall: note that setFooValue and setFooBytes can be aliases for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/db62c8c27ec5984058788547958f2f7c8d1bee95\"\u003e\u003ccode\u003edb62c8c\u003c/code\u003e\u003c/a\u003e Automated rollback of commit e1b16e24461d90f2b11f8213a68bfccc0426d4f3.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.36.0...v2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `biz.aQute.bnd:biz.aQute.bnd.annotation` from 6.4.1 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/bndtools/bnd/releases\"\u003ebiz.aQute.bnd:biz.aQute.bnd.annotation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBnd/Bndtools 7.1.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.1.0\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBnd/Bndtools 7.0.0\u003c/h2\u003e\n\u003cp\u003eThis is the first release on Java 17.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.0.0\"\u003eRelease Notes\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/bndtools/bnd/commit/47e504d7881ba466703c55a8dca7b0578561582d\"\u003e\u003ccode\u003e47e504d\u003c/code\u003e\u003c/a\u003e Build Release 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/c3ff1490e5a2d72336e28920711ec0d024c4a801\"\u003e\u003ccode\u003ec3ff149\u003c/code\u003e\u003c/a\u003e build: Build release 7.1.0.RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/2fc3187b1be2e04e78e4056b6c2efae406646b5b\"\u003e\u003ccode\u003e2fc3187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6363\"\u003e#6363\u003c/a\u003e from laeubi/process_with_conditional_package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/cd347e1202077e625bbdd5dadc158adb49e504db\"\u003e\u003ccode\u003ecd347e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6365\"\u003e#6365\u003c/a\u003e from bndtools/dependabot/github_actions/ruby/setup-r...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/9aa57efecc7e026646e279307d23ea5edb089e57\"\u003e\u003ccode\u003e9aa57ef\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.201.0 to 1.202.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/ec0fea78a246e66430db06e0e8ad0423ffb59dc2\"\u003e\u003ccode\u003eec0fea7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6361\"\u003e#6361\u003c/a\u003e from bndtools/dependabot/github_actions/github/codeq...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/396262634e86aad490df4b43150f3c903c60973f\"\u003e\u003ccode\u003e3962626\u003c/code\u003e\u003c/a\u003e Add testcase for conditional packages with bnd-process\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/fe9a874b3be6e6c2d86625afa55985d1b89c6199\"\u003e\u003ccode\u003efe9a874\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.27.0 to 3.27.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/e3c95f878d3266b872d5ce3ea81b07e8a99e3f8e\"\u003e\u003ccode\u003ee3c95f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6360\"\u003e#6360\u003c/a\u003e from pkriens/issue/6346-gradle-reference-to-project-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/aac92718e6b5021548ff6782871a1841f041eee5\"\u003e\u003ccode\u003eaac9271\u003c/code\u003e\u003c/a\u003e Added a method to get the Macro references from a Processor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bndtools/bnd/compare/6.4.1...7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commons-codec:commons-codec` from 1.15 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt\"\u003ecommons-codec:commons-codec's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons Codec 1.19.0 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons Codec team is pleased to announce the release of Apache Commons Codec 1.19.0.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons Codec component contains encoders and decoders for\nformats such as Base16, Base32, Base64, digest, and Hexadecimal. In addition to these\nwidely used encoders and decoders, the codec package also maintains a\ncollection of phonetic encoding utilities.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add HmacUtils.hmac(Path). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add HmacUtils.hmacHex(Path). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add PMD check to the default Maven goal. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add SpotBugs check to the default Maven goal. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Remove -nouses directive from maven-bundle-plugin. OSGi package imports now state 'uses' definitions for package imports, this doesn't affect JPMS (from org.apache.commons:commons-parent:80). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Refactor DigestUtils.updateDigest(MessageDigest, File) to use NIO. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCODEC-328:  Clarify Javadoc for org.apache.commons.codec.digest.UnixCrypt.crypt(byte[],String). Thanks to Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in DaitchMokotoffSoundex.Rule. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in DaitchMokotoffSoundex.parseRules(Scanner, String, Map, Map). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in Lang.loadFromResource(String, Languages). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in PhoneticEngine.encode(String, LanguageSet). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in org.apache.commons.codec.language.bm.Rule.parse*(*). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Remove redundant checks for whitespace in DaitchMokotoffSoundex.soundex(String, boolean). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Javadoc typo in Base16.java [#380](https://github.com/apache/commons-codec/issues/380). Thanks to Sebastian Baunsgaard.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Deprecate unused constant org.apache.commons.codec.language.bm.Rule.ALL. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCODEC-331:  org.apache.commons.codec.language.bm.Rule.parsePhonemeExpr(String) adds duplicate empty phoneme when input ends with |. Thanks to IlikeCode, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCODEC-331:  org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String) does not remove special characters like punctuation. Thanks to IlikeCode, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD multiple UnnecessaryFullyQualifiedName in org.apache.commons.codec.binary.StringUtils. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD UnusedFormalParameter in private constructor in org.apache.commons.codec.binary.Base16. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD multiple UnnecessaryFullyQualifiedName in org.apache.commons.codec.digest.Blake3. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD UnnecessaryFullyQualifiedName in org.apache.commons.codec.digest.Md5Crypt. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD EmptyControlStatement in org.apache.commons.codec.language.Metaphone. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix SpotBugs [ERROR] Medium: org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder.setEncodeTable(byte[]) may expose internal representation by storing an externally mutable object into BaseNCodec$AbstractBuilder.encodeTable [org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder] At BaseNCodec.java:[line 131] EI_EXPOSE_REP2. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        The method org.apache.commons.codec.binary.BaseNCodec.AbstractBuilder.setLineSeparator(byte...) now makes a defensive copy. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Avoid unnecessary String conversion in org.apache.commons.codec.language.bm.PhoneticEngine.applyFinalRules(PhonemeBuilder, Map). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix SpotBugs [ERROR] High: Potentially dangerous use of non-short-circuit logic in org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String) [org.apache.commons.codec.language.DaitchMokotoffSoundex] At DaitchMokotoffSoundex.java:[line 350] NS_DANGEROUS_NON_SHORT_CIRCUIT. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\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/apache/commons-codec/commit/351cb22e1e1948aaabb39a463dce631bea156125\"\u003e\u003ccode\u003e351cb22\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.19.0 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/0d501b60e50ea50e247d8d804945b9a39974ed52\"\u003e\u003ccode\u003e0d501b6\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/d6d4b824539b0d4794200d05286fd3de1ff2f236\"\u003e\u003ccode\u003ed6d4b82\u003c/code\u003e\u003c/a\u003e Refactor duplicate code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/6d6456ca94448ba8ea105e697e3f89a67f3cb7c1\"\u003e\u003ccode\u003e6d6456c\u003c/code\u003e\u003c/a\u003e No need to exclude abstract test classes from Surefire runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/22d62e41374cfe558f995fd2c0f490e6f93339d6\"\u003e\u003ccode\u003e22d62e4\u003c/code\u003e\u003c/a\u003e No need to specify the default value for linkXref\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/c4daf34d4aeb1193ba8feab437b86a871c6b123d\"\u003e\u003ccode\u003ec4daf34\u003c/code\u003e\u003c/a\u003e No longer need to override the version of the Jacoco Maven plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/8f2b67337af5dc40a3701346c6302ab0cf5ca554\"\u003e\u003ccode\u003e8f2b673\u003c/code\u003e\u003c/a\u003e Remove workaround for [SUREFIRE-2253]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/466a61d3f957a9a0727937b3772dc6880db22f01\"\u003e\u003ccode\u003e466a61d\u003c/code\u003e\u003c/a\u003e Fix Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/ca27bd30b6170561786d421eb48f1535dc41336f\"\u003e\u003ccode\u003eca27bd3\u003c/code\u003e\u003c/a\u003e Fix Checkstyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/1dfb4e5bbdc604dc72fe671fded50a5c91bc7543\"\u003e\u003ccode\u003e1dfb4e5\u003c/code\u003e\u003c/a\u003e Better internal method name\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-codec/compare/rel/commons-codec-1.15...rel/commons-codec-1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.bonigarcia:webdrivermanager` from 5.7.0 to 6.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bonigarcia/webdrivermanager/blob/master/CHANGELOG.md\"\u003eio.github.bonigarcia:webdrivermanager's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.3.2] - 2025-09-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConsume stdout/stderr asynchronously and add timeout for shell execution (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix logic to find msedgedriver from XML responses (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1510\"\u003e#1510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix condition to check external connections in download logic\u003c/li\u003e\n\u003cli\u003eFix logic to ignore versions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChanged log level for shell result to trace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.3.1] - 2025-09-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCheck webdriver list before accesing recording in base64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.3.0] - 2025-09-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude getRecordingBase64() in the WebDriverManager API\u003c/li\u003e\n\u003cli\u003eInclude workflows to release WebDriverManager in Maven Central and doc in GH Pages\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump to BrowserWatcher 2.1.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.2.0] - 2025-07-18\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude getResolvedBrowserVersion() in the WebDriverManager API (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Edge driver url (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1489\"\u003e#1489\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.1.1] - 2025-07-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude --disable-features=DisableLoadExtensionCommandLineSwitch to load BrowserWatcher\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate configuration to publish artifacts in Maven Central\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.1.0] - 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWait for extension recording (WEBM) in the Downloads folder\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/bonigarcia/webdrivermanager/commit/c46a9ca4b2649929801b94b8ceea74ab19e3e403\"\u003e\u003ccode\u003ec46a9ca\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release webdrivermanager-6.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/ee694cb6120f65a074313c22fca8844163c9414f\"\u003e\u003ccode\u003eee694cb\u003c/code\u003e\u003c/a\u003e Use mvn versions:revert when creating fat jar in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/cfc2055ba282f3640bd70b10e50920df551c4b9f\"\u003e\u003ccode\u003ecfc2055\u003c/code\u003e\u003c/a\u003e Set SNAPSHOT in pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/eb379305943b8e7e8b8b85470c75b6ae375fdbe2\"\u003e\u003ccode\u003eeb37930\u003c/code\u003e\u003c/a\u003e Fix logic to ignore versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/f287725816bd9e1bea3dd572dd099d77c7972070\"\u003e\u003ccode\u003ef287725\u003c/code\u003e\u003c/a\u003e Minor smell-fixes and formatting in Shell class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/035c7d8676a18b32f4258be59c876cf45e5cb0e7\"\u003e\u003ccode\u003e035c7d8\u003c/code\u003e\u003c/a\u003e Fix condition to check external connections in download logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/1ae5992f33a5fde6b1fb2c3603fda4100935d6dc\"\u003e\u003ccode\u003e1ae5992\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 6.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/c97df1b74d61c2f49ce676a3c2507cb0b6581a0d\"\u003e\u003ccode\u003ec97df1b\u003c/code\u003e\u003c/a\u003e Fix logic to find msedgedriver from XML responses (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1510\"\u003e#1510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/a16be69dad6cf59971b4aa41eab14f3f490b1311\"\u003e\u003ccode\u003ea16be69\u003c/code\u003e\u003c/a\u003e Generate fat jar first in the release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/6756ffbd57287ec662656604f9ce726aec240240\"\u003e\u003ccode\u003e6756ffb\u003c/code\u003e\u003c/a\u003e Update mirror info (Fri Sep 12 00:08:03 UTC 2025)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bonigarcia/webdrivermanager/compare/webdrivermanager-5.7.0...webdrivermanager-6.3.2\"\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.2 to 1.21.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup 1.21.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.2\u003c/strong\u003e is out now, adding support for custom \u003ccode\u003eSSLContext\u003c/code\u003e in HTTP/2 connections, and improving consistency in how user data is handled in attributes. It also brings performance gains in DOM manipulation and fragment parsing, and fixes several edge cases in stream parsing, traversal, cloning, and concurrent reads.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ejsoup 1.21.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.1\u003c/strong\u003e is out now, featuring powerful new node selection capabilities that let you target specific DOM nodes like comments and text nodes using CSS selectors, dynamic tag customization through the new TagSet callback system, and improved defense against mutation XSS attacks with simplified attribute escaping. This release also brings HTTP/2 support by default, numerous API improvements for better developer experience, and fixes for several edge-case parsing issues.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; type)\u003c/code\u003e method instead. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull(Object)\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull(T)\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; nodeType)\u003c/code\u003e for direct node selection. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2330\"\u003e#2330\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection.Response#readBody()\u003c/code\u003e over \u003ccode\u003eConnection.Response#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\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\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.21.2 (2025-Aug-25)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.1 (2025-Jun-23)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class type)\u003c/code\u003e method instead. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class nodeType)\u003c/code\u003e for direct node selection. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace).\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection#readBody()\u003c/code\u003e over \u003ccode\u003eConnection#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe contents of a \u003ccode\u003escript\u003c/code\u003e in a \u003ccode\u003esvg\u003c/code\u003e foreign context should be parsed as script data, not text. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2320\"\u003e#2320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTag#isFormSubmittable()\u003c/code\u003e was updating the Tag's options. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2323\"\u003e#2323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML pretty-printer would incorrectly trim whitespace when text followed an inline element in a block element. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2325\"\u003e#2325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom tags with hyphens or other non-letter characters in their names now work correctly as Data or RcData tags. Their closing tags are now tokenized properly. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2332\"\u003e#2332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen cloning an Element, the clone would retain the source's cached child Element list (if any), which could lead to incorrect results when modifying the clone's child elements. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2334\"\u003e#2334\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/b02837b6c77b94799c055f8fa446fb770bfb49f1\"\u003e\u003ccode\u003eb02837b\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.21.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1f0c2070e78b5d171c4e5896930c612c58474608\"\u003e\u003ccode\u003e1f0c207\u003c/code\u003e\u003c/a\u003e v1.21.2 release date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/b0934637750ed6ddd91bf344842c8c5aad1fb70f\"\u003e\u003ccode\u003eb093463\u003c/code\u003e\u003c/a\u003e Use central-publishing-maven-plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/615b9592ffe8e65b4e461f7727081995931154ce\"\u003e\u003ccode\u003e615b959\u003c/code\u003e\u003c/a\u003e Updating sonatype deploy URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/69617205f80df06acf2adb38fd8a19f3724b6845\"\u003e\u003ccode\u003e6961720\u003c/code\u003e\u003c/a\u003e Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2386\"\u003e#2386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/82864b246c0005cc66a50daede3568f930504030\"\u003e\u003ccode\u003e82864b2\u003c/code\u003e\u003c/a\u003e Bump jetty.version from 9.4.57.v20241219 to 9.4.58.v20250814 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2385\"\u003e#2385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/71f963ea3a78746fc2a3ba80b2843254b35c211a\"\u003e\u003ccode\u003e71f963e\u003c/code\u003e\u003c/a\u003e Fix for HTML that breaks the select scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/6b20f6e3d158d1ce3147c4e9306d9b485e083bf4\"\u003e\u003ccode\u003e6b20f6e\u003c/code\u003e\u003c/a\u003e Removed effective recursion closing \u003ccode\u003e\\\u0026lt;/select\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/eb2957a8b3e8c12649c5b83872a238dd74e68dec\"\u003e\u003ccode\u003eeb2957a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2382\"\u003e#2382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/3a9a6c7c8a67d51ebbb598495496e28dcd0c18e1\"\u003e\u003ccode\u003e3a9a6c7\u003c/code\u003e\u003c/a\u003e Fix ProxyTest in CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.17.2...jsoup-1.21.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.infradna.tool:bridge-method-annotation` from 1.18 to 1.24\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/90b05fc5d86b8e9362bbb31ccc37b28abdc67e52\"\u003e\u003ccode\u003e90b05fc\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1e3123cf4feaa612e6aa77ccf1a12cfd61a473a9\"\u003e\u003ccode\u003e1e3123c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/29\"\u003e#29\u003c/a\u003e from basil/asm-9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/c89b1025f3a4808e3d03a8a84b3f4ece06b96bf1\"\u003e\u003ccode\u003ec89b102\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.2 to 9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a60c63572dbb7a1d1aa91b5fbb0866517db88836\"\u003e\u003ccode\u003ea60c635\u003c/code\u003e\u003c/a\u003e Replaced by README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/8a5b5e9c6d5036aa492e43d3552b40cba07e5d8b\"\u003e\u003ccode\u003e8a5b5e9\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/677782c5cd7b3df04755b6f515c184748b019770\"\u003e\u003ccode\u003e677782c\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/jenkinsci/bridge-method-injector/commit/4682998f65e92142b9b3b185c63eb40ea0ed8c07\"\u003e\u003ccode\u003e4682998\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a2c094ff373921db7d71551d8f3fcd868c56e467\"\u003e\u003ccode\u003ea2c094f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/27\"\u003e#27\u003c/a\u003e from basil/asm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/cd1a8efd21354ac75447e338eee3298b7aa2386a\"\u003e\u003ccode\u003ecd1a8ef\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.0 to 9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1567095d18f443e5cbeb4593520f6fc0345b32fb\"\u003e\u003ccode\u003e1567095\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/infradna/bridge-method-injector/compare/bridge-method-injector-parent-1.18...bridge-method-injector-parent-1.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.kohsuke:github-api` from 1.303 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.303...github-api-1.330\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.spotbugs:spotbugs-annotations` from 3.1.12 to 4.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spotbugs/spotbugs/releases\"\u003ecom.github.spotbugs:spotbugs-annotations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.6\u003c/h2\u003e\n\u003cp\u003eSpotBugs 4.9.6\u003c/p\u003e\n\u003ch3\u003eCHANGELOG\u003c/h3\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e method calls (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCHECKSUM\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003efile\u003c/th\u003e\n\u003cth\u003echecksum (sha256)\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003eb4b9373ad6f22ad2547a8274501f87b01e2428c30aabaea3aeec3f9095636e24\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e89687b6e685c9a07f7faf49f29b832fb861884f2160947eb4396498cdbb33cc4\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6.tgz\u003c/td\u003e\n\u003ctd\u003e55aa9b9e3deef0391be285335dcf134d1ce54aae222bba1da757eaa616108957\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6.zip\u003c/td\u003e\n\u003ctd\u003e86fb3f93c4147383f76fe21ab2807956b34cf17108a42a76311efa4977f952cc\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e4c9f8027f6a2313ef22347f4832e5dccc9c58d350d1bd5bff4d5a53f37e1c220\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e075b2eed660c2fe2fb1ad1de028f8fdff5f358e25c1318706b95ab17bb28be44\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations.jar\u003c/td\u003e\n\u003ctd\u003e523d394a6b36174ad0a22f0c1c75b105ccff42869a8b7ce86e7fd339ca6f86ce\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e9b510af8cd3a5c62560fe544b730ebf44cbb109e085fe526add155258612273c\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e91477d93b1fd1bebae35d318427b5238fb458e726478dc1a8ac41ce74838a1e6\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant.jar\u003c/td\u003e\n\u003ctd\u003e22f2fa397e86663adcd4828cc1c91e63aa6cc2bfc56832885b749a86fac5c784\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs.jar\u003c/td\u003e\n\u003ctd\u003e62a0def31899338200fc9013b4db8a8aedfc3536ca7d70d59038b092dfaa6819\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003ebdcef7587312fb9a85d0d292623ea1a779bfe8b9a5e321d73bb8ad92ce79ed0a\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e805d2d124b0d4ea513ee9262d4ad6027c3471d45defd80fd7d20e23425d17df7\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e0076a3bc9602c78d73edb048e625a96ee6a182fa3dd39300aa739af67b954189\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e7d7a7d6944e7199e06384104b163c11145ed60dd567fefd9b788f3ac03770e18\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e656579431db1b2714faeeca3c3d59426e2ffdfdb0725546b4090f993d2413eeb\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e66db286ae1dd056458c1e0303a8e2f81fe95a2c5d2888172a3ed17e993434bf1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e8925836d7d1198ec223c4ff5118fd596278df4157d910eb767f7f312a7df8904\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e59bbb8581ed4bdd212a669d94ec363b6c1d6df9276a608359c66d7f0c1688279\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e0582a99bdc66e24c7e36753014729149189fd27129ec5a2f38a8d67457bc9696\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSpotBugs 4.9.5\u003c/h2\u003e\n\u003ch3\u003eCHANGELOG\u003c/h3\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix for an error when a record method has the \u003ccode\u003e@SuppressFBWarnings\u003c/code\u003e annotation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3622\"\u003e#3622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSF_SWITCH_FALLTHROUGH\u003c/code\u003e false positive when continuing a loop (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCWO_CLOSED_WITHOUT_OPENED\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSF_SWITCH_NO_DEFAULT\u003c/code\u003e false positive fix for switch-arrow (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the issue with BCEL logging \u003ccode\u003eDuplicating value: ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing jakarta support for servlets / pre/post destroy (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3694\"\u003e#3694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'java.nio.file.Path.of' to known types for path traversal checks (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3699\"\u003e#3699\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCleanup\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eS1481: Unused local variables should be removed (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3654\"\u003e#3654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved test libraries to jakarta namespace including switching off jsr305 where possible for jakarta.annotatoin (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3695\"\u003e#3695\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCHECKSUM\u003c/h3\u003e\n\u003cp\u003e| file | checksum (sha256) |\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/spotbugs/spotbugs/blob/master/CHANGELOG.md\"\u003ecom.github.spotbugs:spotbugs-annotations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.6 - 2025-09-16\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e method calls (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.5 - 2025-09-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix for an error when a record method has the \u003ccode\u003e@SuppressFBWarnings\u003c/code\u003e annotation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3622\"\u003e#3622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSF_SWITCH_FALLTHROUGH\u003c/code\u003e false positive when continuing a loop (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCWO_CLOSED_WITHOUT_OPENED\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSF_SWITCH_NO_DEFAULT\u003c/code\u003e false positive fix for switch-arrow (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the issue with BCEL logging \u003ccode\u003eDuplicating value: ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing jakarta support for servlets / pre/post destroy (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3694\"\u003e#3694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'java.nio.file.Path.of' to known types for path traversal checks (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3699\"\u003e#3699\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCleanup\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eS1481: Unused local variables should be removed (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3654\"\u003e#3654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved test libraries to jakarta namespace including switching off jsr305 where possible for jakarta.annotatoin (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3695\"\u003e#3695\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.4 - 2025-08-07\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAnnotationMatcher\u003c/code\u003e can now ignore bugs if annotation is also applied on methods or fields. Previously only annotations on classes were considered.\u003c/li\u003e\n\u003cli\u003eAdd relevant CWE ids to bugs and refer the CWEs in the bug messages (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3354\"\u003e#3354\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eLOCAL_VARIABLE_UNKNOWN\u003c/code\u003e with exact method name for \u003ccode\u003eNP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3485\"\u003e#3485\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWiden main method recognition according to \u003ca href=\"https://openjdk.org/jeps/445\"\u003eJEP 445\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3371\"\u003e#3371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not re...\n\n_Description has been truncated_","html_url":"https://github.com/ricekot/zap-extensions/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricekot%2Fzap-extensions/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"2883750735","node_id":"PR_kwDODf4ejs6r4otP","number":6,"state":"open","title":"build(deps): bump the gradle group with 59 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-03T04:18:22.000Z","updated_at":"2025-10-03T09:46:24.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":59,"packages":[{"name":"com.google.errorprone:error_prone_core","old_version":"2.36.0","new_version":"2.42.0","repository_url":"https://github.com/google/error-prone"},{"name":"biz.aQute.bnd:biz.aQute.bnd.annotation","old_version":"6.4.1","new_version":"7.1.0","repository_url":"https://github.com/bndtools/bnd"},{"name":"commons-codec:commons-codec","old_version":"1.15","new_version":"1.19.0","repository_url":"https://github.com/apache/commons-codec"},{"name":"io.github.bonigarcia:webdrivermanager","old_version":"5.7.0","new_version":"6.3.2","repository_url":"https://github.com/bonigarcia/webdrivermanager"},{"name":"com.diffplug.spotless:spotless-plugin-gradle","old_version":"6.25.0","new_version":"8.0.0","repository_url":"https://github.com/diffplug/spotless"},{"name":"com.diffplug.spotless","old_version":"6.25.0","new_version":"8.0.0"},{"name":"org.jsoup:jsoup","old_version":"1.17.2","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.infradna.tool:bridge-method-annotation","old_version":"1.18","new_version":"1.24","repository_url":"https://github.com/infradna/bridge-method-injector"},{"name":"org.kohsuke:github-api","old_version":"1.303","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.github.spotbugs:spotbugs-annotations","old_version":"3.1.12","new_version":"4.9.6","repository_url":"https://github.com/spotbugs/spotbugs"},{"name":"org.apache.commons:commons-collections4","old_version":"4.4","new_version":"4.5.0"},{"name":"org.apache.commons:commons-csv","old_version":"1.10.0","new_version":"1.14.1","repository_url":"https://github.com/apache/commons-csv"},{"name":"commons-io:commons-io","old_version":"2.16.1","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.fasterxml.jackson:jackson-bom","old_version":"2.19.1","new_version":"2.20.0","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.datanucleus:datanucleus-accessplatform-jdo-rdbms","old_version":"6.0.7","new_version":"6.0.10","repository_url":"https://github.com/datanucleus/datanucleus-accessplatform"},{"name":"org.flywaydb:flyway-core","old_version":"9.22.3","new_version":"11.13.2","repository_url":"https://github.com/flyway/flyway"},{"name":"org.xerial:sqlite-jdbc","old_version":"3.45.3.0","new_version":"3.50.3.0","repository_url":"https://github.com/xerial/sqlite-jdbc"},{"name":"de.sstoehr:har-reader","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/sdstoehr/har-reader"},{"name":"io.hektor:hektor-fsm","old_version":"0.0.5","new_version":"0.0.8","repository_url":"https://github.com/sniceio/hektor"},{"name":"com.github.curious-odd-man:rgxgen","old_version":"2.0","new_version":"3.1","repository_url":"https://github.com/curious-odd-man/RgxGen"},{"name":"com.natpryce:snodge","old_version":"2.1.2.2","new_version":"3.7.0.0","repository_url":"https://github.com/npryce/snodge"},{"name":"org.codehaus.groovy:groovy-all","old_version":"3.0.14","new_version":"3.0.25","repository_url":"https://github.com/apache/groovy"},{"name":"io.grpc:grpc-protobuf","old_version":"1.61.1","new_version":"1.75.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"org.jruby:jruby-complete","old_version":"1.7.4","new_version":"10.0.2.0"},{"name":"org.python:jython-standalone","old_version":"2.7.2","new_version":"2.7.4","repository_url":"https://github.com/jython/jython"},{"name":"dev.langchain4j:langchain4j","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-azure-open-ai","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-ollama","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"org.apache.logging.log4j:log4j-core","old_version":"2.24.2","new_version":"2.25.2"},{"name":"org.apache.logging.log4j:log4j-slf4j-impl","old_version":"2.24.2","new_version":"2.25.2"},{"name":"org.apache.logging.log4j:log4j-slf4j2-impl","old_version":"2.24.2","new_version":"2.25.2"},{"name":"org.htmlunit:htmlunit-csp","old_version":"4.0.0","new_version":"4.16.0","repository_url":"https://github.com/HtmlUnit/htmlunit-csp"},{"name":"com.google.re2j:re2j","old_version":"1.7","new_version":"1.8","repository_url":"https://github.com/google/re2j"},{"name":"org.xhtmlrenderer:flying-saucer-pdf","old_version":"9.3.1","new_version":"10.0.0","repository_url":"https://github.com/flyingsaucerproject/flyingsaucer"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.2.RELEASE","new_version":"3.1.3.RELEASE"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"2.3.2","new_version":"4.0.6"},{"name":"net.bytebuddy:byte-buddy","old_version":"1.14.13","new_version":"1.17.7","repository_url":"https://github.com/raphw/byte-buddy"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.19.0"},{"name":"org.seleniumhq.selenium:htmlunit3-driver","old_version":"4.34.0","new_version":"4.35.0","repository_url":"https://github.com/SeleniumHQ/htmlunit-driver"},{"name":"org.seleniumhq.selenium:selenium-java","old_version":"4.35.0","new_version":"4.36.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"jakarta.xml.soap:jakarta.xml.soap-api","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/jakartaee/saaj-api"},{"name":"com.sun.xml.messaging.saaj:saaj-impl","old_version":"3.0.0","new_version":"3.0.4"},{"name":"com.predic8:soa-model-core","old_version":"2.0.1","new_version":"2.2.0","repository_url":"https://github.com/membrane/soa-model"},{"name":"io.kaitai:kaitai-struct-runtime","old_version":"0.10","new_version":"0.11","repository_url":"https://github.com/kaitai-io/kaitai_struct_java_runtime"},{"name":"com.google.inject.extensions:guice-assistedinject","old_version":"5.0.1","new_version":"7.0.0"},{"name":"org.slf4j:jcl-over-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:jul-to-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:slf4j-log4j12","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.hamcrest:hamcrest-library","old_version":"2.2","new_version":"3.0","repository_url":"https://github.com/hamcrest/JavaHamcrest"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.10.0","new_version":"5.20.0","repository_url":"https://github.com/mockito/mockito"},{"name":"io.github.bonigarcia:selenium-jupiter","old_version":"5.1.1","new_version":"6.3.1","repository_url":"https://github.com/bonigarcia/selenium-jupiter"},{"name":"org.zaproxy:zap","old_version":"2.16.0","new_version":"2.16.1","repository_url":"https://github.com/zaproxy/zaproxy"},{"name":"com.github.weisj:jsvg","old_version":"1.4.0","new_version":"2.0.0","repository_url":"https://github.com/weisJ/jsvg"},{"name":"org.cyclonedx.bom","old_version":"2.2.0","new_version":"2.4.1"},{"name":"com.github.ben-manes.versions","old_version":"0.52.0","new_version":"0.53.0"},{"name":"net.ltgt.errorprone","old_version":"4.1.0","new_version":"4.3.0"},{"name":"io.freefair.lombok","old_version":"8.12.2","new_version":"9.0.0","repository_url":"https://github.com/freefair/gradle-plugins"},{"name":"org.sonarqube","old_version":"4.3.0.3225","new_version":"6.3.1.5724"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 59 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.36.0` | `2.42.0` |\n| [biz.aQute.bnd:biz.aQute.bnd.annotation](https://github.com/bndtools/bnd) | `6.4.1` | `7.1.0` |\n| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.15` | `1.19.0` |\n| [io.github.bonigarcia:webdrivermanager](https://github.com/bonigarcia/webdrivermanager) | `5.7.0` | `6.3.2` |\n| [com.diffplug.spotless:spotless-plugin-gradle](https://github.com/diffplug/spotless) | `6.25.0` | `8.0.0` |\n| com.diffplug.spotless | `6.25.0` | `8.0.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.2` | `1.21.2` |\n| [com.infradna.tool:bridge-method-annotation](https://github.com/infradna/bridge-method-injector) | `1.18` | `1.24` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.303` | `1.330` |\n| [com.github.spotbugs:spotbugs-annotations](https://github.com/spotbugs/spotbugs) | `3.1.12` | `4.9.6` |\n| org.apache.commons:commons-collections4 | `4.4` | `4.5.0` |\n| [org.apache.commons:commons-csv](https://github.com/apache/commons-csv) | `1.10.0` | `1.14.1` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.16.1` | `2.20.0` |\n| [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `2.19.1` | `2.20.0` |\n| [org.datanucleus:datanucleus-accessplatform-jdo-rdbms](https://github.com/datanucleus/datanucleus-accessplatform) | `6.0.7` | `6.0.10` |\n| [org.flywaydb:flyway-core](https://github.com/flyway/flyway) | `9.22.3` | `11.13.2` |\n| [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) | `3.45.3.0` | `3.50.3.0` |\n| [de.sstoehr:har-reader](https://github.com/sdstoehr/har-reader) | `3.1.4` | `3.1.6` |\n| [io.hektor:hektor-fsm](https://github.com/sniceio/hektor) | `0.0.5` | `0.0.8` |\n| [com.github.curious-odd-man:rgxgen](https://github.com/curious-odd-man/RgxGen) | `2.0` | `3.1` |\n| [com.natpryce:snodge](https://github.com/npryce/snodge) | `2.1.2.2` | `3.7.0.0` |\n| [org.codehaus.groovy:groovy-all](https://github.com/apache/groovy) | `3.0.14` | `3.0.25` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.61.1` | `1.75.0` |\n| org.jruby:jruby-complete | `1.7.4` | `10.0.2.0` |\n| [org.python:jython-standalone](https://github.com/jython/jython) | `2.7.2` | `2.7.4` |\n| [dev.langchain4j:langchain4j](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-azure-open-ai](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-ollama](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| org.apache.logging.log4j:log4j-core | `2.24.2` | `2.25.2` |\n| org.apache.logging.log4j:log4j-slf4j-impl | `2.24.2` | `2.25.2` |\n| org.apache.logging.log4j:log4j-slf4j2-impl | `2.24.2` | `2.25.2` |\n| [org.htmlunit:htmlunit-csp](https://github.com/HtmlUnit/htmlunit-csp) | `4.0.0` | `4.16.0` |\n| [com.google.re2j:re2j](https://github.com/google/re2j) | `1.7` | `1.8` |\n| [org.xhtmlrenderer:flying-saucer-pdf](https://github.com/flyingsaucerproject/flyingsaucer) | `9.3.1` | `10.0.0` |\n| org.thymeleaf:thymeleaf | `3.1.2.RELEASE` | `3.1.3.RELEASE` |\n| org.glassfish.jaxb:jaxb-runtime | `2.3.2` | `4.0.6` |\n| [net.bytebuddy:byte-buddy](https://github.com/raphw/byte-buddy) | `1.14.13` | `1.17.7` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.19.0` |\n| [org.seleniumhq.selenium:htmlunit3-driver](https://github.com/SeleniumHQ/htmlunit-driver) | `4.34.0` | `4.35.0` |\n| [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.36.0` |\n| [jakarta.xml.soap:jakarta.xml.soap-api](https://github.com/jakartaee/saaj-api) | `3.0.0` | `3.0.2` |\n| com.sun.xml.messaging.saaj:saaj-impl | `3.0.0` | `3.0.4` |\n| [com.predic8:soa-model-core](https://github.com/membrane/soa-model) | `2.0.1` | `2.2.0` |\n| [io.kaitai:kaitai-struct-runtime](https://github.com/kaitai-io/kaitai_struct_java_runtime) | `0.10` | `0.11` |\n| com.google.inject.extensions:guice-assistedinject | `5.0.1` | `7.0.0` |\n| org.slf4j:jcl-over-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:jul-to-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:slf4j-log4j12 | `1.7.32` | `2.0.17` |\n| [org.hamcrest:hamcrest-library](https://github.com/hamcrest/JavaHamcrest) | `2.2` | `3.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.10.2` | `6.0.0` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.10.0` | `5.20.0` |\n| [io.github.bonigarcia:selenium-jupiter](https://github.com/bonigarcia/selenium-jupiter) | `5.1.1` | `6.3.1` |\n| [org.zaproxy:zap](https://github.com/zaproxy/zaproxy) | `2.16.0` | `2.16.1` |\n| [com.github.weisj:jsvg](https://github.com/weisJ/jsvg) | `1.4.0` | `2.0.0` |\n| org.cyclonedx.bom | `2.2.0` | `2.4.1` |\n| com.github.ben-manes.versions | `0.52.0` | `0.53.0` |\n| net.ltgt.errorprone | `4.1.0` | `4.3.0` |\n| [io.freefair.lombok](https://github.com/freefair/gradle-plugins) | `8.12.2` | `9.0.0` |\n| org.sonarqube | `4.3.0.3225` | `6.3.1.5724` |\n\nUpdates `com.google.errorprone:error_prone_core` from 2.36.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.42.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExplicitArrayForVarargs\"\u003e\u003ccode\u003eExplicitArrayForVarargs\u003c/code\u003e\u003c/a\u003e: discourage unnecessary explicit construction of an array to provide varargs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/FloggerPerWithoutRateLimit\"\u003e\u003ccode\u003eFloggerPerWithoutRateLimit\u003c/code\u003e\u003c/a\u003e: discourage Flogger's \u003ccode\u003eperUnique\u003c/code\u003e without rate limiting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/StringJoin\"\u003e\u003ccode\u003eStringJoin\u003c/code\u003e\u003c/a\u003e: Ban \u003ccode\u003eString.join(CharSequence)\u003c/code\u003e and \u003ccode\u003eString.join(CharSequence, CharSequence)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThreadBuilderNameWithPlaceholder\"\u003e\u003ccode\u003eThreadBuilderNameWithPlaceholder\u003c/code\u003e\u003c/a\u003e: Do not allow placeholders in \u003ccode\u003eThread.Builder.name(String)\u003c/code\u003e or \u003ccode\u003ename(String, int)\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe return type of \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e has changed. The previous type was \u003ccode\u003eEnumSet\u0026lt;Flags.Flag\u0026gt;\u003c/code\u003e, where \u003ccode\u003eFlags.Flag\u003c/code\u003e is an enum in the javac class \u003ccode\u003eFlags\u003c/code\u003e. A recent JDK change has replaced that enum with a new top-level enum called \u003ccode\u003eFlagsEnum\u003c/code\u003e. It is not possible to change \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e in a way that would be type-safe and compatible with the enums from JDKs both before and after the change. Instead, the method now returns \u003ccode\u003eImmutableSet\u0026lt;String\u0026gt;\u003c/code\u003e, where the strings come from the \u003ccode\u003etoString()\u003c/code\u003e of the enum constants. That means they are \u003ccode\u003e\u0026quot;native\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;abstract\u0026quot;\u003c/code\u003e, etc.\u003c/li\u003e\n\u003cli\u003eFlag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ca href=\"https://errorprone.info/bugpattern/SystemOut\"\u003e\u003ccode\u003eSystemOut\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.41.0...v2.42.0\"\u003ehttps://github.com/google/error-prone/compare/v2.41.0...v2.42.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.41.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/EffectivelyPrivate\"\u003eEffectivelyPrivate\u003c/a\u003e: Detect declarations that have \u003ccode\u003epublic\u003c/code\u003e or \u003ccode\u003eprotected\u003c/code\u003e modifiers, but are effectively private\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip BooleanLiteral findings if the target type is boxed (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5134\"\u003e#5134\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.40.0...v2.41.0\"\u003ehttps://github.com/google/error-prone/compare/v2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.40.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and improvements\u003c/li\u003e\n\u003cli\u003eReleases (including snapshots) have migrated from \u003ca href=\"https://central.sonatype.org/pages/ossrh-eol/#process-to-migrate\"\u003eOSSRH to the Central Publisher Portal\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.39.0...v2.40.0\"\u003ehttps://github.com/google/error-prone/compare/v2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.39.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTemporarily downgrade to Guava 33.4.0 (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5108\"\u003e#5108\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChecks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BooleanLiteral\"\u003e\u003ccode\u003eBooleanLiteral\u003c/code\u003e\u003c/a\u003e: Prefer \u003ccode\u003etrue\u003c/code\u003e to \u003ccode\u003eBoolean.TRUE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExpensiveLenientFormatString\"\u003e\u003ccode\u003eExpensiveLenientFormatString\u003c/code\u003e\u003c/a\u003e: Renamed from \u003ccode\u003ePreconditionsExpensiveString\u003c/code\u003e, detects unnecessary calls to \u003ccode\u003eString.format\u003c/code\u003e in the arguments of lenient formatting methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/UnnecessaryQualifier\"\u003e\u003ccode\u003eUnnecessaryQualifier\u003c/code\u003e\u003c/a\u003e: Detects \u003ccode\u003e@Qualifier\u003c/code\u003e or \u003ccode\u003e@BindingAnnotation\u003c/code\u003e annotations that have no effect, and can be removed\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/4996\"\u003e#4996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5045\"\u003e#5045\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.38.0...v2.39.0\"\u003ehttps://github.com/google/error-prone/compare/v2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.38.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/google/error-prone/commit/52b61801ceacc31be26261a14e4eb95bee68cdd8\"\u003e\u003ccode\u003e52b6180\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/691c64a24ac430fa26a69ff3ae62fdba0346e0df\"\u003e\u003ccode\u003e691c64a\u003c/code\u003e\u003c/a\u003e Flag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ccode\u003eSystemOut\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/0b751cd69ac278d63686a776cd55a067b7bff7ae\"\u003e\u003ccode\u003e0b751cd\u003c/code\u003e\u003c/a\u003e ExpicitArrayForVarargs: flag unnecessary explicit construction of an array to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/982fe208c273cc82e838efbbc9c001b857cd239e\"\u003e\u003ccode\u003e982fe20\u003c/code\u003e\u003c/a\u003e Tweak links to point to newer versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a2df97f0d3842e1d45f26bf085a3a95f273346be\"\u003e\u003ccode\u003ea2df97f\u003c/code\u003e\u003c/a\u003e [StatementSwitchToExpressionSwitch] fix bug where \u003ccode\u003ecase null\u003c/code\u003e can sometimes b...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/e691be588c891d4fc10cb41f019960accd21db2d\"\u003e\u003ccode\u003ee691be5\u003c/code\u003e\u003c/a\u003e Fix (behind a flag) a silly bug in RedundantSetterCall.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/ce1a422f3f92a9a9c6434a9e0e00df5ce9877df2\"\u003e\u003ccode\u003ece1a422\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eDurations.wait()\u003c/code\u003e to \u003ccode\u003eWaitMatchers.waitMethodWithTimeout\u003c/code\u003e (and make them...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da03fea47dd31b1a63932d78f3d91fb383cce8d1\"\u003e\u003ccode\u003eda03fea\u003c/code\u003e\u003c/a\u003e Update MethodCanBeStatic to be able to detect and trigger on Guice \u003ca href=\"https://github.com/Provides\"\u003e\u003ccode\u003e@​Provides\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/83e6582d6333d2e2d5e5f2f279c630d54ae65fae\"\u003e\u003ccode\u003e83e6582\u003c/code\u003e\u003c/a\u003e RedundantSetterCall: note that setFooValue and setFooBytes can be aliases for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/db62c8c27ec5984058788547958f2f7c8d1bee95\"\u003e\u003ccode\u003edb62c8c\u003c/code\u003e\u003c/a\u003e Automated rollback of commit e1b16e24461d90f2b11f8213a68bfccc0426d4f3.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.36.0...v2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `biz.aQute.bnd:biz.aQute.bnd.annotation` from 6.4.1 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/bndtools/bnd/releases\"\u003ebiz.aQute.bnd:biz.aQute.bnd.annotation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBnd/Bndtools 7.1.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.1.0\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBnd/Bndtools 7.0.0\u003c/h2\u003e\n\u003cp\u003eThis is the first release on Java 17.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.0.0\"\u003eRelease Notes\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/bndtools/bnd/commit/47e504d7881ba466703c55a8dca7b0578561582d\"\u003e\u003ccode\u003e47e504d\u003c/code\u003e\u003c/a\u003e Build Release 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/c3ff1490e5a2d72336e28920711ec0d024c4a801\"\u003e\u003ccode\u003ec3ff149\u003c/code\u003e\u003c/a\u003e build: Build release 7.1.0.RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/2fc3187b1be2e04e78e4056b6c2efae406646b5b\"\u003e\u003ccode\u003e2fc3187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6363\"\u003e#6363\u003c/a\u003e from laeubi/process_with_conditional_package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/cd347e1202077e625bbdd5dadc158adb49e504db\"\u003e\u003ccode\u003ecd347e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6365\"\u003e#6365\u003c/a\u003e from bndtools/dependabot/github_actions/ruby/setup-r...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/9aa57efecc7e026646e279307d23ea5edb089e57\"\u003e\u003ccode\u003e9aa57ef\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.201.0 to 1.202.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/ec0fea78a246e66430db06e0e8ad0423ffb59dc2\"\u003e\u003ccode\u003eec0fea7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6361\"\u003e#6361\u003c/a\u003e from bndtools/dependabot/github_actions/github/codeq...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/396262634e86aad490df4b43150f3c903c60973f\"\u003e\u003ccode\u003e3962626\u003c/code\u003e\u003c/a\u003e Add testcase for conditional packages with bnd-process\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/fe9a874b3be6e6c2d86625afa55985d1b89c6199\"\u003e\u003ccode\u003efe9a874\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.27.0 to 3.27.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/e3c95f878d3266b872d5ce3ea81b07e8a99e3f8e\"\u003e\u003ccode\u003ee3c95f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6360\"\u003e#6360\u003c/a\u003e from pkriens/issue/6346-gradle-reference-to-project-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/aac92718e6b5021548ff6782871a1841f041eee5\"\u003e\u003ccode\u003eaac9271\u003c/code\u003e\u003c/a\u003e Added a method to get the Macro references from a Processor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bndtools/bnd/compare/6.4.1...7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commons-codec:commons-codec` from 1.15 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt\"\u003ecommons-codec:commons-codec's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons Codec 1.19.0 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons Codec team is pleased to announce the release of Apache Commons Codec 1.19.0.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons Codec component contains encoders and decoders for\nformats such as Base16, Base32, Base64, digest, and Hexadecimal. In addition to these\nwidely used encoders and decoders, the codec package also maintains a\ncollection of phonetic encoding utilities.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add HmacUtils.hmac(Path). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add HmacUtils.hmacHex(Path). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add PMD check to the default Maven goal. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add SpotBugs check to the default Maven goal. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Remove -nouses directive from maven-bundle-plugin. OSGi package imports now state 'uses' definitions for package imports, this doesn't affect JPMS (from org.apache.commons:commons-parent:80). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Refactor DigestUtils.updateDigest(MessageDigest, File) to use NIO. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCODEC-328:  Clarify Javadoc for org.apache.commons.codec.digest.UnixCrypt.crypt(byte[],String). Thanks to Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in DaitchMokotoffSoundex.Rule. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in DaitchMokotoffSoundex.parseRules(Scanner, String, Map, Map). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in Lang.loadFromResource(String, Languages). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in PhoneticEngine.encode(String, LanguageSet). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in org.apache.commons.codec.language.bm.Rule.parse*(*). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Remove redundant checks for whitespace in DaitchMokotoffSoundex.soundex(String, boolean). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Javadoc typo in Base16.java [#380](https://github.com/apache/commons-codec/issues/380). Thanks to Sebastian Baunsgaard.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Deprecate unused constant org.apache.commons.codec.language.bm.Rule.ALL. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCODEC-331:  org.apache.commons.codec.language.bm.Rule.parsePhonemeExpr(String) adds duplicate empty phoneme when input ends with |. Thanks to IlikeCode, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCODEC-331:  org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String) does not remove special characters like punctuation. Thanks to IlikeCode, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD multiple UnnecessaryFullyQualifiedName in org.apache.commons.codec.binary.StringUtils. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD UnusedFormalParameter in private constructor in org.apache.commons.codec.binary.Base16. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD multiple UnnecessaryFullyQualifiedName in org.apache.commons.codec.digest.Blake3. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD UnnecessaryFullyQualifiedName in org.apache.commons.codec.digest.Md5Crypt. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD EmptyControlStatement in org.apache.commons.codec.language.Metaphone. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix SpotBugs [ERROR] Medium: org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder.setEncodeTable(byte[]) may expose internal representation by storing an externally mutable object into BaseNCodec$AbstractBuilder.encodeTable [org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder] At BaseNCodec.java:[line 131] EI_EXPOSE_REP2. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        The method org.apache.commons.codec.binary.BaseNCodec.AbstractBuilder.setLineSeparator(byte...) now makes a defensive copy. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Avoid unnecessary String conversion in org.apache.commons.codec.language.bm.PhoneticEngine.applyFinalRules(PhonemeBuilder, Map). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix SpotBugs [ERROR] High: Potentially dangerous use of non-short-circuit logic in org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String) [org.apache.commons.codec.language.DaitchMokotoffSoundex] At DaitchMokotoffSoundex.java:[line 350] NS_DANGEROUS_NON_SHORT_CIRCUIT. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\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/apache/commons-codec/commit/351cb22e1e1948aaabb39a463dce631bea156125\"\u003e\u003ccode\u003e351cb22\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.19.0 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/0d501b60e50ea50e247d8d804945b9a39974ed52\"\u003e\u003ccode\u003e0d501b6\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/d6d4b824539b0d4794200d05286fd3de1ff2f236\"\u003e\u003ccode\u003ed6d4b82\u003c/code\u003e\u003c/a\u003e Refactor duplicate code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/6d6456ca94448ba8ea105e697e3f89a67f3cb7c1\"\u003e\u003ccode\u003e6d6456c\u003c/code\u003e\u003c/a\u003e No need to exclude abstract test classes from Surefire runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/22d62e41374cfe558f995fd2c0f490e6f93339d6\"\u003e\u003ccode\u003e22d62e4\u003c/code\u003e\u003c/a\u003e No need to specify the default value for linkXref\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/c4daf34d4aeb1193ba8feab437b86a871c6b123d\"\u003e\u003ccode\u003ec4daf34\u003c/code\u003e\u003c/a\u003e No longer need to override the version of the Jacoco Maven plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/8f2b67337af5dc40a3701346c6302ab0cf5ca554\"\u003e\u003ccode\u003e8f2b673\u003c/code\u003e\u003c/a\u003e Remove workaround for [SUREFIRE-2253]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/466a61d3f957a9a0727937b3772dc6880db22f01\"\u003e\u003ccode\u003e466a61d\u003c/code\u003e\u003c/a\u003e Fix Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/ca27bd30b6170561786d421eb48f1535dc41336f\"\u003e\u003ccode\u003eca27bd3\u003c/code\u003e\u003c/a\u003e Fix Checkstyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/1dfb4e5bbdc604dc72fe671fded50a5c91bc7543\"\u003e\u003ccode\u003e1dfb4e5\u003c/code\u003e\u003c/a\u003e Better internal method name\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-codec/compare/rel/commons-codec-1.15...rel/commons-codec-1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.bonigarcia:webdrivermanager` from 5.7.0 to 6.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bonigarcia/webdrivermanager/blob/master/CHANGELOG.md\"\u003eio.github.bonigarcia:webdrivermanager's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.3.2] - 2025-09-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConsume stdout/stderr asynchronously and add timeout for shell execution (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix logic to find msedgedriver from XML responses (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1510\"\u003e#1510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix condition to check external connections in download logic\u003c/li\u003e\n\u003cli\u003eFix logic to ignore versions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChanged log level for shell result to trace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.3.1] - 2025-09-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCheck webdriver list before accesing recording in base64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.3.0] - 2025-09-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude getRecordingBase64() in the WebDriverManager API\u003c/li\u003e\n\u003cli\u003eInclude workflows to release WebDriverManager in Maven Central and doc in GH Pages\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump to BrowserWatcher 2.1.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.2.0] - 2025-07-18\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude getResolvedBrowserVersion() in the WebDriverManager API (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Edge driver url (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1489\"\u003e#1489\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.1.1] - 2025-07-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude --disable-features=DisableLoadExtensionCommandLineSwitch to load BrowserWatcher\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate configuration to publish artifacts in Maven Central\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.1.0] - 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWait for extension recording (WEBM) in the Downloads folder\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/bonigarcia/webdrivermanager/commit/c46a9ca4b2649929801b94b8ceea74ab19e3e403\"\u003e\u003ccode\u003ec46a9ca\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release webdrivermanager-6.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/ee694cb6120f65a074313c22fca8844163c9414f\"\u003e\u003ccode\u003eee694cb\u003c/code\u003e\u003c/a\u003e Use mvn versions:revert when creating fat jar in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/cfc2055ba282f3640bd70b10e50920df551c4b9f\"\u003e\u003ccode\u003ecfc2055\u003c/code\u003e\u003c/a\u003e Set SNAPSHOT in pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/eb379305943b8e7e8b8b85470c75b6ae375fdbe2\"\u003e\u003ccode\u003eeb37930\u003c/code\u003e\u003c/a\u003e Fix logic to ignore versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/f287725816bd9e1bea3dd572dd099d77c7972070\"\u003e\u003ccode\u003ef287725\u003c/code\u003e\u003c/a\u003e Minor smell-fixes and formatting in Shell class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/035c7d8676a18b32f4258be59c876cf45e5cb0e7\"\u003e\u003ccode\u003e035c7d8\u003c/code\u003e\u003c/a\u003e Fix condition to check external connections in download logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/1ae5992f33a5fde6b1fb2c3603fda4100935d6dc\"\u003e\u003ccode\u003e1ae5992\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 6.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/c97df1b74d61c2f49ce676a3c2507cb0b6581a0d\"\u003e\u003ccode\u003ec97df1b\u003c/code\u003e\u003c/a\u003e Fix logic to find msedgedriver from XML responses (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1510\"\u003e#1510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/a16be69dad6cf59971b4aa41eab14f3f490b1311\"\u003e\u003ccode\u003ea16be69\u003c/code\u003e\u003c/a\u003e Generate fat jar first in the release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/6756ffbd57287ec662656604f9ce726aec240240\"\u003e\u003ccode\u003e6756ffb\u003c/code\u003e\u003c/a\u003e Update mirror info (Fri Sep 12 00:08:03 UTC 2025)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bonigarcia/webdrivermanager/compare/webdrivermanager-5.7.0...webdrivermanager-6.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.diffplug.spotless:spotless-plugin-gradle` from 6.25.0 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/diffplug/spotless/releases\"\u003ecom.diffplug.spotless:spotless-plugin-gradle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGradle Plugin v8.0.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e Bump the required Gradle to \u003ccode\u003e7.3\u003c/code\u003e and required Java to \u003ccode\u003e17\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2375\"\u003e#2375\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2540\"\u003e#2540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e Renamed \u003ccode\u003eremoveWildcardImports\u003c/code\u003e to \u003ccode\u003eforbidWildcardImports\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2633\"\u003e#2633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e \u003ccode\u003espotlessInstallGitPrePushHook\u003c/code\u003e task is now installed only on the root project. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2570\"\u003e#2570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e \u003ccode\u003eLintSuppression\u003c/code\u003e now enforces unix-style paths in its \u003ccode\u003esetPath\u003c/code\u003e method. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2629\"\u003e#2629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRunning \u003ccode\u003espotlessCheck\u003c/code\u003e with violations unilaterally produces the error message \u003ccode\u003eRun './gradlew spotlessApply' to fix these violations\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2592\"\u003e#2592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump JGit from \u003ccode\u003e6.10.1\u003c/code\u003e to \u003ccode\u003e7.3.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2257\"\u003e#2257\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eAdds support for worktrees (fixes \u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003egoogle-java-format\u003c/code\u003e version to latest \u003ccode\u003e1.24.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e1.28.0\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2345\"\u003e#2345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003egson\u003c/code\u003e version to latest \u003ccode\u003e2.13.1\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.13.2\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2615\"\u003e#2615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ejackson\u003c/code\u003e version to latest \u003ccode\u003e2.19.2\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.20.0\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2606\"\u003e#2606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ektfmt\u003c/code\u003e version to latest \u003ccode\u003e0.53\u003c/code\u003e -\u0026gt; \u003ccode\u003e0.58\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2613\"\u003e#2613\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e use \u003ccode\u003eTrailingCommaManagementStrategy\u003c/code\u003e enum instead of \u003ccode\u003emanageTrailingCommas\u003c/code\u003e boolean configuration option\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ektlint\u003c/code\u003e version to latest \u003ccode\u003e1.5.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e1.7.1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2555\"\u003e#2555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003epalantir-java-format\u003c/code\u003e version to latest \u003ccode\u003e2.57.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.71.0\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect system gitconfig when performing git operations (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2404\"\u003e#2404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003espaceBeforeSeparator\u003c/code\u003e in Jackson formatter. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003espotlessInstallGitPrePushHook\u003c/code\u003e is now compatible with configuration cache. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2570\"\u003e#2570\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThere is now a \u003ccode\u003eforbidRegex(String name, String regex, String lintDetail)\u003c/code\u003e which throws a lint anytime the regex matches. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2633\"\u003e#2633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGradle Plugin v7.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003espotlessInstallGitPrePushHook\u003c/code\u003e didn't work on windows, now fixed. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2562\"\u003e#2562\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGradle Plugin v7.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow specifying path to Biome JSON config file directly in \u003ccode\u003ebiome\u003c/code\u003e step. Requires biome 2.x. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2548\"\u003e#2548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003espotlessInstallGitPrePushHook\u003c/code\u003e task, which installs a Git \u003ccode\u003epre-push\u003c/code\u003e hook to run \u003ccode\u003espotlessCheck\u003c/code\u003e and \u003ccode\u003espotlessApply\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2553\"\u003e#2553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow setting Eclipse XML config from a string, not only from files (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2361\"\u003e#2361\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump default \u003ccode\u003egson\u003c/code\u003e version to latest \u003ccode\u003e2.11.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.13.1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2414\"\u003e#2414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ejackson\u003c/code\u003e version to latest \u003ccode\u003e2.18.1\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.19.2\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2558\"\u003e#2558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003egherkin-utils\u003c/code\u003e version to latest \u003ccode\u003e9.0.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e9.2.0\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2408\"\u003e#2408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ecleanthat\u003c/code\u003e version to latest \u003ccode\u003e2.22\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.23\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2556\"\u003e#2556\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGradle Plugin v7.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for \u003ccode\u003eidea\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2020\"\u003e#2020\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2535\"\u003e#2535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for removing wildcard imports via \u003ccode\u003eremoveWildcardImports\u003c/code\u003e step. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2517\"\u003e#2517\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix biome formatter for new major release 2.x of biome (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2537\"\u003e#2537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake sure npm-based formatters use the correct \u003ccode\u003enode_modules\u003c/code\u003e directory when running in parallel. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2542\"\u003e#2542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump internal dependencies for npm-based formatters (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2542\"\u003e#2542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003escalafmt: enforce version consistency between the version configured in Spotless and the version declared in Scalafmt config file (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2460\"\u003e#2460\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/diffplug/spotless/commit/0761a23782c97b4c425f8f8b5e79f20811f54541\"\u003e\u003ccode\u003e0761a23\u003c/code\u003e\u003c/a\u003e Published gradle/8.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/3373a6bf4ddfc12f1df566b1c1780e99ec2d8bb8\"\u003e\u003ccode\u003e3373a6b\u003c/code\u003e\u003c/a\u003e Published lib/4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/433a1d9c92e5e5566e72faf162c9d9833538d710\"\u003e\u003ccode\u003e433a1d9\u003c/code\u003e\u003c/a\u003e Try to fix publishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/12d83710e3dc0df893910f543293d353cc7b6c01\"\u003e\u003ccode\u003e12d8371\u003c/code\u003e\u003c/a\u003e [openrewrite] initial merge and \u003ccode\u003eUpgradeToJava17\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2636\"\u003e#2636\u003c/a\u003e towards \u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2634\"\u003e#2634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/37d293da2545f07a3b8cd0d69a812e2a04cdc5d1\"\u003e\u003ccode\u003e37d293d\u003c/code\u003e\u003c/a\u003e Take away the custom name for the \u003ccode\u003esanityCheck\u003c/code\u003e CI job.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/2ab1d2fe69d38e24f3226bbd24721c864ca0cb5a\"\u003e\u003ccode\u003e2ab1d2f\u003c/code\u003e\u003c/a\u003e Fix some long-standing Gradle deprecations.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/009c5da700c805857ca86de0e3980ce4ff8b5c11\"\u003e\u003ccode\u003e009c5da\u003c/code\u003e\u003c/a\u003e Rename \u003ccode\u003eremoveWildcardImports\u003c/code\u003e to \u003ccode\u003eforbidWildcardImports\u003c/code\u003e, etc. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2633\"\u003e#2633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/1f4fb93cc671bb2c39dcca1d9502174dc3fbc621\"\u003e\u003ccode\u003e1f4fb93\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2634\"\u003e#2634\u003c/a\u003e: Add \u003ccode\u003eUpgradeToJava17\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/d8d496abe3c5565642b45c998f6aeedd90204fde\"\u003e\u003ccode\u003ed8d496a\u003c/code\u003e\u003c/a\u003e Fix a test.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/c1a2fe5d6629f8fd92a984d16188c68752bfbd32\"\u003e\u003ccode\u003ec1a2fe5\u003c/code\u003e\u003c/a\u003e Fix unfinished parts of the rename.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/diffplug/spotless/compare/gradle/6.25.0...gradle/8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.diffplug.spotless` from 6.25.0 to 8.0.0\n\nUpdates `org.jsoup:jsoup` from 1.17.2 to 1.21.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup 1.21.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.2\u003c/strong\u003e is out now, adding support for custom \u003ccode\u003eSSLContext\u003c/code\u003e in HTTP/2 connections, and improving consistency in how user data is handled in attributes. It also brings performance gains in DOM manipulation and fragment parsing, and fixes several edge cases in stream parsing, traversal, cloning, and concurrent reads.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ejsoup 1.21.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.1\u003c/strong\u003e is out now, featuring powerful new node selection capabilities that let you target specific DOM nodes like comments and text nodes using CSS selectors, dynamic tag customization through the new TagSet callback system, and improved defense against mutation XSS attacks with simplified attribute escaping. This release also brings HTTP/2 support by default, numerous API improvements for better developer experience, and fixes for several edge-case parsing issues.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; type)\u003c/code\u003e method instead. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull(Object)\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull(T)\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; nodeType)\u003c/code\u003e for direct node selection. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2330\"\u003e#2330\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection.Response#readBody()\u003c/code\u003e over \u003ccode\u003eConnection.Response#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\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\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.21.2 (2025-Aug-25)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.1 (2025-Jun-23)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class type)\u003c/code\u003e method instead. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class nodeType)\u003c/code\u003e for direct node selection. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace).\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection#readBody()\u003c/code\u003e over \u003ccode\u003eConnection#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe contents of a \u003ccode\u003escript\u003c/code\u003e in a \u003ccode\u003esvg\u003c/code\u003e foreign context should be parsed as script data, not text. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2320\"\u003e#2320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTag#isFormSubmittable()\u003c/code\u003e was updating the Tag's options. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2323\"\u003e#2323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML pretty-printer would incorrectly trim whitespace when text followed an inline element in a block element. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2325\"\u003e#2325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom tags with hyphens or other non-letter characters in their names now work correctly as Data or RcData tags. Their closing tags are now tokenized properly. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2332\"\u003e#2332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen cloning an Element, the clone would retain the source's cached child Element list (if any), which could lead to incorrect results when modifying the clone's child elements. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2334\"\u003e#2334\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/b02837b6c77b94799c055f8fa446fb770bfb49f1\"\u003e\u003ccode\u003eb02837b\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.21.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1f0c2070e78b5d171c4e5896930c612c58474608\"\u003e\u003ccode\u003e1f0c207\u003c/code\u003e\u003c/a\u003e v1.21.2 release date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/b0934637750ed6ddd91bf344842c8c5aad1fb70f\"\u003e\u003ccode\u003eb093463\u003c/code\u003e\u003c/a\u003e Use central-publishing-maven-plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/615b9592ffe8e65b4e461f7727081995931154ce\"\u003e\u003ccode\u003e615b959\u003c/code\u003e\u003c/a\u003e Updating sonatype deploy URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/69617205f80df06acf2adb38fd8a19f3724b6845\"\u003e\u003ccode\u003e6961720\u003c/code\u003e\u003c/a\u003e Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2386\"\u003e#2386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/82864b246c0005cc66a50daede3568f930504030\"\u003e\u003ccode\u003e82864b2\u003c/code\u003e\u003c/a\u003e Bump jetty.version from 9.4.57.v20241219 to 9.4.58.v20250814 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2385\"\u003e#2385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/71f963ea3a78746fc2a3ba80b2843254b35c211a\"\u003e\u003ccode\u003e71f963e\u003c/code\u003e\u003c/a\u003e Fix for HTML that breaks the select scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/6b20f6e3d158d1ce3147c4e9306d9b485e083bf4\"\u003e\u003ccode\u003e6b20f6e\u003c/code\u003e\u003c/a\u003e Removed effective recursion closing \u003ccode\u003e\\\u0026lt;/select\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/eb2957a8b3e8c12649c5b83872a238dd74e68dec\"\u003e\u003ccode\u003eeb2957a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2382\"\u003e#2382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/3a9a6c7c8a67d51ebbb598495496e28dcd0c18e1\"\u003e\u003ccode\u003e3a9a6c7\u003c/code\u003e\u003c/a\u003e Fix ProxyTest in CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.17.2...jsoup-1.21.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.infradna.tool:bridge-method-annotation` from 1.18 to 1.24\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/90b05fc5d86b8e9362bbb31ccc37b28abdc67e52\"\u003e\u003ccode\u003e90b05fc\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1e3123cf4feaa612e6aa77ccf1a12cfd61a473a9\"\u003e\u003ccode\u003e1e3123c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/29\"\u003e#29\u003c/a\u003e from basil/asm-9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/c89b1025f3a4808e3d03a8a84b3f4ece06b96bf1\"\u003e\u003ccode\u003ec89b102\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.2 to 9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a60c63572dbb7a1d1aa91b5fbb0866517db88836\"\u003e\u003ccode\u003ea60c635\u003c/code\u003e\u003c/a\u003e Replaced by README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/8a5b5e9c6d5036aa492e43d3552b40cba07e5d8b\"\u003e\u003ccode\u003e8a5b5e9\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/677782c5cd7b3df04755b6f515c184748b019770\"\u003e\u003ccode\u003e677782c\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/jenkinsci/bridge-method-injector/commit/4682998f65e92142b9b3b185c63eb40ea0ed8c07\"\u003e\u003ccode\u003e4682998\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a2c094ff373921db7d71551d8f3fcd868c56e467\"\u003e\u003ccode\u003ea2c094f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/27\"\u003e#27\u003c/a\u003e from basil/asm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/cd1a8efd21354ac75447e338eee3298b7aa2386a\"\u003e\u003ccode\u003ecd1a8ef\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.0 to 9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1567095d18f443e5cbeb4593520f6fc0345b32fb\"\u003e\u003ccode\u003e1567095\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/infradna/bridge-method-injector/compare/bridge-method-injector-parent-1.18...bridge-method-injector-parent-1.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.kohsuke:github-api` from 1.303 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): githu...\n\n_Description has been truncated_","html_url":"https://github.com/ricekot/zap-extensions/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricekot%2Fzap-extensions/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"},{"uuid":"2879604180","node_id":"PR_kwDODf4ejs6ro0XU","number":5,"state":"closed","title":"build(deps): bump the gradle group across 1 directory with 59 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-03T04:14:39.000Z","author_association":"NONE","state_reason":null,"created_at":"2025-10-01T20:49:12.000Z","updated_at":"2025-10-03T04:14:39.000Z","time_to_close":113127,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":59,"packages":[{"name":"com.google.errorprone:error_prone_core","old_version":"2.36.0","new_version":"2.42.0","repository_url":"https://github.com/google/error-prone"},{"name":"biz.aQute.bnd:biz.aQute.bnd.annotation","old_version":"6.4.1","new_version":"7.1.0","repository_url":"https://github.com/bndtools/bnd"},{"name":"com.github.ben-manes.versions","old_version":"0.52.0","new_version":"0.53.0"},{"name":"org.sonarqube","old_version":"4.3.0.3225","new_version":"6.3.1.5724"},{"name":"net.ltgt.errorprone","old_version":"4.1.0","new_version":"4.3.0"},{"name":"io.freefair.lombok","old_version":"8.12.2","new_version":"9.0.0","repository_url":"https://github.com/freefair/gradle-plugins"},{"name":"commons-codec:commons-codec","old_version":"1.15","new_version":"1.19.0","repository_url":"https://github.com/apache/commons-codec"},{"name":"io.github.bonigarcia:webdrivermanager","old_version":"5.7.0","new_version":"6.3.2","repository_url":"https://github.com/bonigarcia/webdrivermanager"},{"name":"com.diffplug.spotless:spotless-plugin-gradle","old_version":"6.25.0","new_version":"8.0.0","repository_url":"https://github.com/diffplug/spotless"},{"name":"com.diffplug.spotless","old_version":"6.25.0","new_version":"8.0.0"},{"name":"com.infradna.tool:bridge-method-annotation","old_version":"1.18","new_version":"1.24","repository_url":"https://github.com/infradna/bridge-method-injector"},{"name":"net.bytebuddy:byte-buddy","old_version":"1.14.13","new_version":"1.17.7","repository_url":"https://github.com/raphw/byte-buddy"},{"name":"org.apache.commons:commons-collections4","old_version":"4.4","new_version":"4.5.0"},{"name":"org.apache.commons:commons-csv","old_version":"1.10.0","new_version":"1.14.1","repository_url":"https://github.com/apache/commons-csv"},{"name":"commons-io:commons-io","old_version":"2.16.1","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.19.0"},{"name":"org.xhtmlrenderer:flying-saucer-pdf","old_version":"9.3.1","new_version":"10.0.0","repository_url":"https://github.com/flyingsaucerproject/flyingsaucer"},{"name":"org.kohsuke:github-api","old_version":"1.303","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.graphql-java:graphql-java","old_version":"22.3","new_version":"24.3","repository_url":"https://github.com/graphql-java/graphql-java"},{"name":"org.codehaus.groovy:groovy-all","old_version":"3.0.14","new_version":"3.0.25","repository_url":"https://github.com/apache/groovy"},{"name":"io.grpc:grpc-protobuf","old_version":"1.61.1","new_version":"1.75.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"com.google.inject.extensions:guice-assistedinject","old_version":"5.0.1","new_version":"7.0.0"},{"name":"org.hamcrest:hamcrest-library","old_version":"2.2","new_version":"3.0","repository_url":"https://github.com/hamcrest/JavaHamcrest"},{"name":"de.sstoehr:har-reader","old_version":"3.1.4","new_version":"3.1.5","repository_url":"https://github.com/sdstoehr/har-reader"},{"name":"io.hektor:hektor-fsm","old_version":"0.0.5","new_version":"0.0.8","repository_url":"https://github.com/sniceio/hektor"},{"name":"org.htmlunit:htmlunit-csp","old_version":"4.0.0","new_version":"4.16.0","repository_url":"https://github.com/HtmlUnit/htmlunit-csp"},{"name":"org.apache.httpcomponents.client5:httpclient5","old_version":"5.2.1","new_version":"5.5.1","repository_url":"https://github.com/apache/httpcomponents-client"},{"name":"org.jitsi:ice4j","old_version":"3.0-24-g34c2ce5","new_version":"3.2-9-gb64c86f","repository_url":"https://github.com/jitsi/ice4j"},{"name":"com.fasterxml.jackson:jackson-bom","old_version":"2.19.1","new_version":"2.20.0","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"jakarta.xml.soap:jakarta.xml.soap-api","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/jakartaee/saaj-api"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"2.3.2","new_version":"4.0.6"},{"name":"org.slf4j:jcl-over-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:jul-to-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:slf4j-log4j12","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.jruby:jruby-complete","old_version":"1.7.4","new_version":"10.0.2.0"},{"name":"org.jsoup:jsoup","old_version":"1.17.2","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.github.weisj:jsvg","old_version":"1.4.0","new_version":"2.0.0","repository_url":"https://github.com/weisJ/jsvg"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.python:jython-standalone","old_version":"2.7.2","new_version":"2.7.4","repository_url":"https://github.com/jython/jython"},{"name":"io.kaitai:kaitai-struct-runtime","old_version":"0.10","new_version":"0.11","repository_url":"https://github.com/kaitai-io/kaitai_struct_java_runtime"},{"name":"dev.langchain4j:langchain4j","old_version":"0.35.0","new_version":"1.6.0","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"org.apache.logging.log4j:log4j-core","old_version":"2.24.2","new_version":"2.25.2"},{"name":"org.apache.logging.log4j:log4j-slf4j-impl","old_version":"2.24.2","new_version":"2.25.2"},{"name":"org.apache.logging.log4j:log4j-slf4j2-impl","old_version":"2.24.2","new_version":"2.25.2"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.10.0","new_version":"5.20.0","repository_url":"https://github.com/mockito/mockito"},{"name":"io.netty:netty-codec","old_version":"4.1.100.Final","new_version":"4.2.6.Final","repository_url":"https://github.com/netty/netty"},{"name":"io.netty:netty-codec-http2","old_version":"4.1.100.Final","new_version":"4.2.6.Final","repository_url":"https://github.com/netty/netty"},{"name":"io.netty:netty-handler","old_version":"4.1.100.Final","new_version":"4.2.6.Final","repository_url":"https://github.com/netty/netty"},{"name":"com.google.re2j:re2j","old_version":"1.7","new_version":"1.8","repository_url":"https://github.com/google/re2j"},{"name":"com.github.curious-odd-man:rgxgen","old_version":"2.0","new_version":"3.1","repository_url":"https://github.com/curious-odd-man/RgxGen"},{"name":"com.sun.xml.messaging.saaj:saaj-impl","old_version":"3.0.0","new_version":"3.0.4"},{"name":"io.github.bonigarcia:selenium-jupiter","old_version":"5.1.1","new_version":"6.3.1","repository_url":"https://github.com/bonigarcia/selenium-jupiter"},{"name":"com.natpryce:snodge","old_version":"2.1.2.2","new_version":"3.7.0.0","repository_url":"https://github.com/npryce/snodge"},{"name":"com.predic8:soa-model-core","old_version":"2.0.1","new_version":"2.2.0","repository_url":"https://github.com/membrane/soa-model"},{"name":"io.swagger:swagger-compat-spec-parser","old_version":"1.0.71","new_version":"1.0.75"},{"name":"io.swagger.parser.v3:swagger-parser","old_version":"2.1.23","new_version":"2.1.34","repository_url":"https://github.com/swagger-api/swagger-parser"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.2.RELEASE","new_version":"3.1.3.RELEASE"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 57 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.36.0` | `2.42.0` |\n| [biz.aQute.bnd:biz.aQute.bnd.annotation](https://github.com/bndtools/bnd) | `6.4.1` | `7.1.0` |\n| com.github.ben-manes.versions | `0.52.0` | `0.53.0` |\n| org.sonarqube | `4.3.0.3225` | `6.3.1.5724` |\n| net.ltgt.errorprone | `4.1.0` | `4.3.0` |\n| [io.freefair.lombok](https://github.com/freefair/gradle-plugins) | `8.12.2` | `9.0.0` |\n| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.15` | `1.19.0` |\n| [io.github.bonigarcia:webdrivermanager](https://github.com/bonigarcia/webdrivermanager) | `5.7.0` | `6.3.2` |\n| [com.diffplug.spotless:spotless-plugin-gradle](https://github.com/diffplug/spotless) | `6.25.0` | `8.0.0` |\n| com.diffplug.spotless | `6.25.0` | `8.0.0` |\n| [com.infradna.tool:bridge-method-annotation](https://github.com/infradna/bridge-method-injector) | `1.18` | `1.24` |\n| [net.bytebuddy:byte-buddy](https://github.com/raphw/byte-buddy) | `1.14.13` | `1.17.7` |\n| org.apache.commons:commons-collections4 | `4.4` | `4.5.0` |\n| [org.apache.commons:commons-csv](https://github.com/apache/commons-csv) | `1.10.0` | `1.14.1` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.16.1` | `2.20.0` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.19.0` |\n| [org.xhtmlrenderer:flying-saucer-pdf](https://github.com/flyingsaucerproject/flyingsaucer) | `9.3.1` | `10.0.0` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.303` | `1.330` |\n| [com.graphql-java:graphql-java](https://github.com/graphql-java/graphql-java) | `22.3` | `24.3` |\n| [org.codehaus.groovy:groovy-all](https://github.com/apache/groovy) | `3.0.14` | `3.0.25` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.61.1` | `1.75.0` |\n| com.google.inject.extensions:guice-assistedinject | `5.0.1` | `7.0.0` |\n| [org.hamcrest:hamcrest-library](https://github.com/hamcrest/JavaHamcrest) | `2.2` | `3.0` |\n| [de.sstoehr:har-reader](https://github.com/sdstoehr/har-reader) | `3.1.4` | `3.1.5` |\n| [io.hektor:hektor-fsm](https://github.com/sniceio/hektor) | `0.0.5` | `0.0.8` |\n| [org.htmlunit:htmlunit-csp](https://github.com/HtmlUnit/htmlunit-csp) | `4.0.0` | `4.16.0` |\n| [org.apache.httpcomponents.client5:httpclient5](https://github.com/apache/httpcomponents-client) | `5.2.1` | `5.5.1` |\n| [org.jitsi:ice4j](https://github.com/jitsi/ice4j) | `3.0-24-g34c2ce5` | `3.2-9-gb64c86f` |\n| [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `2.19.1` | `2.20.0` |\n| [jakarta.xml.soap:jakarta.xml.soap-api](https://github.com/jakartaee/saaj-api) | `3.0.0` | `3.0.2` |\n| org.glassfish.jaxb:jaxb-runtime | `2.3.2` | `4.0.6` |\n| org.slf4j:jcl-over-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:jul-to-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:slf4j-log4j12 | `1.7.32` | `2.0.17` |\n| org.jruby:jruby-complete | `1.7.4` | `10.0.2.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.2` | `1.21.2` |\n| [com.github.weisj:jsvg](https://github.com/weisJ/jsvg) | `1.4.0` | `2.0.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.10.2` | `6.0.0` |\n| [org.python:jython-standalone](https://github.com/jython/jython) | `2.7.2` | `2.7.4` |\n| [io.kaitai:kaitai-struct-runtime](https://github.com/kaitai-io/kaitai_struct_java_runtime) | `0.10` | `0.11` |\n| [dev.langchain4j:langchain4j](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.6.0` |\n| org.apache.logging.log4j:log4j-core | `2.24.2` | `2.25.2` |\n| org.apache.logging.log4j:log4j-slf4j-impl | `2.24.2` | `2.25.2` |\n| org.apache.logging.log4j:log4j-slf4j2-impl | `2.24.2` | `2.25.2` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.10.0` | `5.20.0` |\n| [io.netty:netty-codec](https://github.com/netty/netty) | `4.1.100.Final` | `4.2.6.Final` |\n| [io.netty:netty-codec-http2](https://github.com/netty/netty) | `4.1.100.Final` | `4.2.6.Final` |\n| [io.netty:netty-handler](https://github.com/netty/netty) | `4.1.100.Final` | `4.2.6.Final` |\n| [com.google.re2j:re2j](https://github.com/google/re2j) | `1.7` | `1.8` |\n| [com.github.curious-odd-man:rgxgen](https://github.com/curious-odd-man/RgxGen) | `2.0` | `3.1` |\n| com.sun.xml.messaging.saaj:saaj-impl | `3.0.0` | `3.0.4` |\n| [io.github.bonigarcia:selenium-jupiter](https://github.com/bonigarcia/selenium-jupiter) | `5.1.1` | `6.3.1` |\n| [com.natpryce:snodge](https://github.com/npryce/snodge) | `2.1.2.2` | `3.7.0.0` |\n| [com.predic8:soa-model-core](https://github.com/membrane/soa-model) | `2.0.1` | `2.2.0` |\n| io.swagger:swagger-compat-spec-parser | `1.0.71` | `1.0.75` |\n| [io.swagger.parser.v3:swagger-parser](https://github.com/swagger-api/swagger-parser) | `2.1.23` | `2.1.34` |\n| org.thymeleaf:thymeleaf | `3.1.2.RELEASE` | `3.1.3.RELEASE` |\n\n\nUpdates `com.google.errorprone:error_prone_core` from 2.36.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.42.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExplicitArrayForVarargs\"\u003e\u003ccode\u003eExplicitArrayForVarargs\u003c/code\u003e\u003c/a\u003e: discourage unnecessary explicit construction of an array to provide varargs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/FloggerPerWithoutRateLimit\"\u003e\u003ccode\u003eFloggerPerWithoutRateLimit\u003c/code\u003e\u003c/a\u003e: discourage Flogger's \u003ccode\u003eperUnique\u003c/code\u003e without rate limiting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/StringJoin\"\u003e\u003ccode\u003eStringJoin\u003c/code\u003e\u003c/a\u003e: Ban \u003ccode\u003eString.join(CharSequence)\u003c/code\u003e and \u003ccode\u003eString.join(CharSequence, CharSequence)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThreadBuilderNameWithPlaceholder\"\u003e\u003ccode\u003eThreadBuilderNameWithPlaceholder\u003c/code\u003e\u003c/a\u003e: Do not allow placeholders in \u003ccode\u003eThread.Builder.name(String)\u003c/code\u003e or \u003ccode\u003ename(String, int)\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe return type of \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e has changed. The previous type was \u003ccode\u003eEnumSet\u0026lt;Flags.Flag\u0026gt;\u003c/code\u003e, where \u003ccode\u003eFlags.Flag\u003c/code\u003e is an enum in the javac class \u003ccode\u003eFlags\u003c/code\u003e. A recent JDK change has replaced that enum with a new top-level enum called \u003ccode\u003eFlagsEnum\u003c/code\u003e. It is not possible to change \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e in a way that would be type-safe and compatible with the enums from JDKs both before and after the change. Instead, the method now returns \u003ccode\u003eImmutableSet\u0026lt;String\u0026gt;\u003c/code\u003e, where the strings come from the \u003ccode\u003etoString()\u003c/code\u003e of the enum constants. That means they are \u003ccode\u003e\u0026quot;native\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;abstract\u0026quot;\u003c/code\u003e, etc.\u003c/li\u003e\n\u003cli\u003eFlag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ca href=\"https://errorprone.info/bugpattern/SystemOut\"\u003e\u003ccode\u003eSystemOut\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.41.0...v2.42.0\"\u003ehttps://github.com/google/error-prone/compare/v2.41.0...v2.42.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.41.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/EffectivelyPrivate\"\u003eEffectivelyPrivate\u003c/a\u003e: Detect declarations that have \u003ccode\u003epublic\u003c/code\u003e or \u003ccode\u003eprotected\u003c/code\u003e modifiers, but are effectively private\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip BooleanLiteral findings if the target type is boxed (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5134\"\u003e#5134\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.40.0...v2.41.0\"\u003ehttps://github.com/google/error-prone/compare/v2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.40.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and improvements\u003c/li\u003e\n\u003cli\u003eReleases (including snapshots) have migrated from \u003ca href=\"https://central.sonatype.org/pages/ossrh-eol/#process-to-migrate\"\u003eOSSRH to the Central Publisher Portal\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.39.0...v2.40.0\"\u003ehttps://github.com/google/error-prone/compare/v2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.39.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTemporarily downgrade to Guava 33.4.0 (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5108\"\u003e#5108\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChecks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BooleanLiteral\"\u003e\u003ccode\u003eBooleanLiteral\u003c/code\u003e\u003c/a\u003e: Prefer \u003ccode\u003etrue\u003c/code\u003e to \u003ccode\u003eBoolean.TRUE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExpensiveLenientFormatString\"\u003e\u003ccode\u003eExpensiveLenientFormatString\u003c/code\u003e\u003c/a\u003e: Renamed from \u003ccode\u003ePreconditionsExpensiveString\u003c/code\u003e, detects unnecessary calls to \u003ccode\u003eString.format\u003c/code\u003e in the arguments of lenient formatting methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/UnnecessaryQualifier\"\u003e\u003ccode\u003eUnnecessaryQualifier\u003c/code\u003e\u003c/a\u003e: Detects \u003ccode\u003e@Qualifier\u003c/code\u003e or \u003ccode\u003e@BindingAnnotation\u003c/code\u003e annotations that have no effect, and can be removed\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/4996\"\u003e#4996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5045\"\u003e#5045\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.38.0...v2.39.0\"\u003ehttps://github.com/google/error-prone/compare/v2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.38.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/google/error-prone/commit/52b61801ceacc31be26261a14e4eb95bee68cdd8\"\u003e\u003ccode\u003e52b6180\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/691c64a24ac430fa26a69ff3ae62fdba0346e0df\"\u003e\u003ccode\u003e691c64a\u003c/code\u003e\u003c/a\u003e Flag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ccode\u003eSystemOut\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/0b751cd69ac278d63686a776cd55a067b7bff7ae\"\u003e\u003ccode\u003e0b751cd\u003c/code\u003e\u003c/a\u003e ExpicitArrayForVarargs: flag unnecessary explicit construction of an array to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/982fe208c273cc82e838efbbc9c001b857cd239e\"\u003e\u003ccode\u003e982fe20\u003c/code\u003e\u003c/a\u003e Tweak links to point to newer versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a2df97f0d3842e1d45f26bf085a3a95f273346be\"\u003e\u003ccode\u003ea2df97f\u003c/code\u003e\u003c/a\u003e [StatementSwitchToExpressionSwitch] fix bug where \u003ccode\u003ecase null\u003c/code\u003e can sometimes b...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/e691be588c891d4fc10cb41f019960accd21db2d\"\u003e\u003ccode\u003ee691be5\u003c/code\u003e\u003c/a\u003e Fix (behind a flag) a silly bug in RedundantSetterCall.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/ce1a422f3f92a9a9c6434a9e0e00df5ce9877df2\"\u003e\u003ccode\u003ece1a422\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eDurations.wait()\u003c/code\u003e to \u003ccode\u003eWaitMatchers.waitMethodWithTimeout\u003c/code\u003e (and make them...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da03fea47dd31b1a63932d78f3d91fb383cce8d1\"\u003e\u003ccode\u003eda03fea\u003c/code\u003e\u003c/a\u003e Update MethodCanBeStatic to be able to detect and trigger on Guice \u003ca href=\"https://github.com/Provides\"\u003e\u003ccode\u003e@​Provides\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/83e6582d6333d2e2d5e5f2f279c630d54ae65fae\"\u003e\u003ccode\u003e83e6582\u003c/code\u003e\u003c/a\u003e RedundantSetterCall: note that setFooValue and setFooBytes can be aliases for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/db62c8c27ec5984058788547958f2f7c8d1bee95\"\u003e\u003ccode\u003edb62c8c\u003c/code\u003e\u003c/a\u003e Automated rollback of commit e1b16e24461d90f2b11f8213a68bfccc0426d4f3.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.36.0...v2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `biz.aQute.bnd:biz.aQute.bnd.annotation` from 6.4.1 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/bndtools/bnd/releases\"\u003ebiz.aQute.bnd:biz.aQute.bnd.annotation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBnd/Bndtools 7.1.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.1.0\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBnd/Bndtools 7.0.0\u003c/h2\u003e\n\u003cp\u003eThis is the first release on Java 17.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.0.0\"\u003eRelease Notes\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/bndtools/bnd/commit/47e504d7881ba466703c55a8dca7b0578561582d\"\u003e\u003ccode\u003e47e504d\u003c/code\u003e\u003c/a\u003e Build Release 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/c3ff1490e5a2d72336e28920711ec0d024c4a801\"\u003e\u003ccode\u003ec3ff149\u003c/code\u003e\u003c/a\u003e build: Build release 7.1.0.RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/2fc3187b1be2e04e78e4056b6c2efae406646b5b\"\u003e\u003ccode\u003e2fc3187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6363\"\u003e#6363\u003c/a\u003e from laeubi/process_with_conditional_package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/cd347e1202077e625bbdd5dadc158adb49e504db\"\u003e\u003ccode\u003ecd347e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6365\"\u003e#6365\u003c/a\u003e from bndtools/dependabot/github_actions/ruby/setup-r...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/9aa57efecc7e026646e279307d23ea5edb089e57\"\u003e\u003ccode\u003e9aa57ef\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.201.0 to 1.202.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/ec0fea78a246e66430db06e0e8ad0423ffb59dc2\"\u003e\u003ccode\u003eec0fea7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6361\"\u003e#6361\u003c/a\u003e from bndtools/dependabot/github_actions/github/codeq...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/396262634e86aad490df4b43150f3c903c60973f\"\u003e\u003ccode\u003e3962626\u003c/code\u003e\u003c/a\u003e Add testcase for conditional packages with bnd-process\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/fe9a874b3be6e6c2d86625afa55985d1b89c6199\"\u003e\u003ccode\u003efe9a874\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.27.0 to 3.27.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/e3c95f878d3266b872d5ce3ea81b07e8a99e3f8e\"\u003e\u003ccode\u003ee3c95f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6360\"\u003e#6360\u003c/a\u003e from pkriens/issue/6346-gradle-reference-to-project-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/aac92718e6b5021548ff6782871a1841f041eee5\"\u003e\u003ccode\u003eaac9271\u003c/code\u003e\u003c/a\u003e Added a method to get the Macro references from a Processor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bndtools/bnd/compare/6.4.1...7.1.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.versions` from 0.52.0 to 0.53.0\n\nUpdates `org.sonarqube` from 4.3.0.3225 to 6.3.1.5724\n\nUpdates `net.ltgt.errorprone` from 4.1.0 to 4.3.0\n\nUpdates `io.freefair.lombok` from 8.12.2 to 9.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/freefair/gradle-plugins/releases\"\u003eio.freefair.lombok's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/setup-java from 4 to 5 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/freefair/gradle-plugins/pull/1425\"\u003efreefair/gradle-plugins#1425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump io.github.classgraph:classgraph from 4.8.180 to 4.8.181 in /examples 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/freefair/gradle-plugins/pull/1424\"\u003efreefair/gradle-plugins#1424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.commons:commons-compress from 1.27.1 to 1.28.0 in /examples 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/freefair/gradle-plugins/pull/1422\"\u003efreefair/gradle-plugins#1422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.gradle.develocity from 4.1 to 4.1.1 in /examples 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/freefair/gradle-plugins/pull/1431\"\u003efreefair/gradle-plugins#1431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.mockito:mockito-core from 5.18.0 to 5.19.0 in /examples 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/freefair/gradle-plugins/pull/1423\"\u003efreefair/gradle-plugins#1423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven:maven-artifact from 3.9.10 to 3.9.11 in /examples 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/freefair/gradle-plugins/pull/1446\"\u003efreefair/gradle-plugins#1446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.gradle.develocity from 4.1 to 4.1.1 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/freefair/gradle-plugins/pull/1445\"\u003efreefair/gradle-plugins#1445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven:maven-core from 3.9.10 to 3.9.11 in /examples 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/freefair/gradle-plugins/pull/1444\"\u003efreefair/gradle-plugins#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.gradle.develocity from 4.1 to 4.1.1 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/freefair/gradle-plugins/pull/1434\"\u003efreefair/gradle-plugins#1434\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump de.larsgrefer.sass:sass-embedded-host from 4.2.0 to 4.3.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1433\"\u003efreefair/gradle-plugins#1433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-java from 4 to 5 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/freefair/gradle-plugins/pull/1441\"\u003efreefair/gradle-plugins#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.squareup.okhttp3:okhttp-bom from 5.0.0 to 5.1.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1453\"\u003efreefair/gradle-plugins#1453\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eswitch default lombok version to 1.18.40 by \u003ca href=\"https://github.com/danishnawab\"\u003e\u003ccode\u003e@​danishnawab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1467\"\u003efreefair/gradle-plugins#1467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.asciidoctor.jvm.convert from 4.0.4 to 4.0.5 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/freefair/gradle-plugins/pull/1463\"\u003efreefair/gradle-plugins#1463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.3 to 3.27.4 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/freefair/gradle-plugins/pull/1451\"\u003efreefair/gradle-plugins#1451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.asciidoctor.jvm.convert from 4.0.4 to 4.0.5 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/freefair/gradle-plugins/pull/1452\"\u003efreefair/gradle-plugins#1452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.commons:commons-compress from 1.27.1 to 1.28.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1460\"\u003efreefair/gradle-plugins#1460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.3 to 3.27.4 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/freefair/gradle-plugins/pull/1461\"\u003efreefair/gradle-plugins#1461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.sonarsource.scanner.gradle:sonarqube-gradle-plugin from 6.2.0.5505 to 6.3.1.5724 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/freefair/gradle-plugins/pull/1448\"\u003efreefair/gradle-plugins#1448\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.squareup.okhttp3:okhttp-bom from 4.12.0 to 5.1.0 in /examples 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/freefair/gradle-plugins/pull/1412\"\u003efreefair/gradle-plugins#1412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.github.spotbugs from 6.2.4 to 6.3.0 in /examples 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/freefair/gradle-plugins/pull/1430\"\u003efreefair/gradle-plugins#1430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.sonarqube from 6.2.0.5505 to 6.3.1.5724 in /examples 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/freefair/gradle-plugins/pull/1440\"\u003efreefair/gradle-plugins#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.springframework.boot:spring-boot-starter from 3.5.4 to 3.5.5 in /examples 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/freefair/gradle-plugins/pull/1454\"\u003efreefair/gradle-plugins#1454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump io.github.classgraph:classgraph from 4.8.180 to 4.8.181 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/freefair/gradle-plugins/pull/1473\"\u003efreefair/gradle-plugins#1473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.gradle.plugin-publish from 1.3.1 to 2.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1471\"\u003efreefair/gradle-plugins#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.gradle.develocity from 4.1.1 to 4.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1475\"\u003efreefair/gradle-plugins#1475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.gradle.plugin-publish from 1.3.1 to 2.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1456\"\u003efreefair/gradle-plugins#1456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.mockito:mockito-core from 5.18.0 to 5.19.0 in /examples 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/freefair/gradle-plugins/pull/1470\"\u003efreefair/gradle-plugins#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.gradle.develocity from 4.1.1 to 4.2 in /examples 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/freefair/gradle-plugins/pull/1472\"\u003efreefair/gradle-plugins#1472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.4 to 3.27.5 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/freefair/gradle-plugins/pull/1483\"\u003efreefair/gradle-plugins#1483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.projectlombok:lombok from 1.18.40 to 1.18.42 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/freefair/gradle-plugins/pull/1482\"\u003efreefair/gradle-plugins#1482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.projectlombok:lombok from 1.18.38 to 1.18.42 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/freefair/gradle-plugins/pull/1477\"\u003efreefair/gradle-plugins#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.webjars:bootstrap from 5.3.7 to 5.3.8 in /examples 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/freefair/gradle-plugins/pull/1479\"\u003efreefair/gradle-plugins#1479\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.5 to 3.27.6 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/freefair/gradle-plugins/pull/1490\"\u003efreefair/gradle-plugins#1490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.springframework.boot:spring-boot-starter from 3.5.5 to 3.5.6 in /examples 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/freefair/gradle-plugins/pull/1489\"\u003efreefair/gradle-plugins#1489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.3 to 3.27.6 in /examples 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/freefair/gradle-plugins/pull/1492\"\u003efreefair/gradle-plugins#1492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.3 to 3.27.6 in /examples 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/freefair/gradle-plugins/pull/1491\"\u003efreefair/gradle-plugins#1491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.sonarsource.scanner.gradle:sonarqube-gradle-plugin from 6.2.0.5505 to 6.3.1.5724 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/freefair/gradle-plugins/pull/1488\"\u003efreefair/gradle-plugins#1488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.mockito:mockito-core from 5.19.0 to 5.20.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1487\"\u003efreefair/gradle-plugins#1487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.mockito.kotlin:mockito-kotlin from 5.4.0 to 6.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1469\"\u003efreefair/gradle-plugins#1469\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/freefair/gradle-plugins/compare/8.14.2...9.0.0\"\u003ehttps://github.com/freefair/gradle-plugins/compare/8.14.2...9.0.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e9.0.0-rc2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/freefair/gradle-plugins/compare/9.0.0-rc1...9.0.0-rc2\"\u003ehttps://github.com/freefair/gradle-plugins/compare/9.0.0-rc1...9.0.0-rc2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e9.0.0-rc1\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/freefair/gradle-plugins/commit/786f564dc686cbde4b9c62dc07ba8bc7e5361f24\"\u003e\u003ccode\u003e786f564\u003c/code\u003e\u003c/a\u003e Update to Spring Boot 3.5.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/fe43572a6a47f10e5d87137c9ec09dd2ee30d3be\"\u003e\u003ccode\u003efe43572\u003c/code\u003e\u003c/a\u003e Merge branch '8.x' of github.com:freefair/gradle-plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/3da1f865f85b178c1beb97d1b87eb62d3bc815bd\"\u003e\u003ccode\u003e3da1f86\u003c/code\u003e\u003c/a\u003e Bump org.mockito.kotlin:mockito-kotlin from 5.4.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/b39aef51a1e7b83412bb7dab7aba5f542dfce856\"\u003e\u003ccode\u003eb39aef5\u003c/code\u003e\u003c/a\u003e Bump org.mockito:mockito-core from 5.19.0 to 5.20.0 (\u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1487\"\u003e#1487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/4b0917ad000b7a69961b850c9f9656188d7a7b8e\"\u003e\u003ccode\u003e4b0917a\u003c/code\u003e\u003c/a\u003e Merge branch '8.x' of github.com:freefair/gradle-plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/d413a0ad8abe50dee44e908d3ba8b27169f484c4\"\u003e\u003ccode\u003ed413a0a\u003c/code\u003e\u003c/a\u003e remove gradle build cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/f5e37dfb94bc3cb47458e8ce10d8fea0e0f8948b\"\u003e\u003ccode\u003ef5e37df\u003c/code\u003e\u003c/a\u003e Update to Gradle 9.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/10d1d3aed784a57e55c345b258ce0dbbb6b6846c\"\u003e\u003ccode\u003e10d1d3a\u003c/code\u003e\u003c/a\u003e Merge branch '8.x' of github.com:freefair/gradle-plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/047a17dcc6e6a7ebf67137ade8f13203a5b6c1c5\"\u003e\u003ccode\u003e047a17d\u003c/code\u003e\u003c/a\u003e Bump org.sonarsource.scanner.gradle:sonarqube-gradle-plugin (\u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1488\"\u003e#1488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/fd0b3faa4251d5d80efb228b4e518f0253a016bd\"\u003e\u003ccode\u003efd0b3fa\u003c/code\u003e\u003c/a\u003e Bump org.assertj:assertj-core from 3.27.3 to 3.27.6 in /examples (\u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1491\"\u003e#1491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/freefair/gradle-plugins/compare/8.12.2...9.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commons-codec:commons-codec` from 1.15 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt\"\u003ecommons-codec:commons-codec's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons Codec 1.19.0 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons Codec team is pleased to announce the release of Apache Commons Codec 1.19.0.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons Codec component contains encoders and decoders for\nformats such as Base16, Base32, Base64, digest, and Hexadecimal. In addition to these\nwidely used encoders and decoders, the codec package also maintains a\ncollection of phonetic encoding utilities.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add HmacUtils.hmac(Path). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add HmacUtils.hmacHex(Path). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add PMD check to the default Maven goal. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add SpotBugs check to the default Maven goal. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Remove -nouses directive from maven-bundle-plugin. OSGi package imports now state 'uses' definitions for package imports, this doesn't affect JPMS (from org.apache.commons:commons-parent:80). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Refactor DigestUtils.updateDigest(MessageDigest, File) to use NIO. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCODEC-328:  Clarify Javadoc for org.apache.commons.codec.digest.UnixCrypt.crypt(byte[],String). Thanks to Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in DaitchMokotoffSoundex.Rule. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in DaitchMokotoffSoundex.parseRules(Scanner, String, Map, Map). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in Lang.loadFromResource(String, Languages). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in PhoneticEngine.encode(String, LanguageSet). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in org.apache.commons.codec.language.bm.Rule.parse*(*). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Remove redundant checks for whitespace in DaitchMokotoffSoundex.soundex(String, boolean). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Javadoc typo in Base16.java [#380](https://github.com/apache/commons-codec/issues/380). Thanks to Sebastian Baunsgaard.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Deprecate unused constant org.apache.commons.codec.language.bm.Rule.ALL. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCODEC-331:  org.apache.commons.codec.language.bm.Rule.parsePhonemeExpr(String) adds duplicate empty phoneme when input ends with |. Thanks to IlikeCode, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCODEC-331:  org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String) does not remove special characters like punctuation. Thanks to IlikeCode, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD multiple UnnecessaryFullyQualifiedName in org.apache.commons.codec.binary.StringUtils. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD UnusedFormalParameter in private constructor in org.apache.commons.codec.binary.Base16. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD multiple UnnecessaryFullyQualifiedName in org.apache.commons.codec.digest.Blake3. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD UnnecessaryFullyQualifiedName in org.apache.commons.codec.digest.Md5Crypt. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD EmptyControlStatement in org.apache.commons.codec.language.Metaphone. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix SpotBugs [ERROR] Medium: org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder.setEncodeTable(byte[]) may expose internal representation by storing an externally mutable object into BaseNCodec$AbstractBuilder.encodeTable [org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder] At BaseNCodec.java:[line 131] EI_EXPOSE_REP2. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        The method org.apache.commons.codec.binary.BaseNCodec.AbstractBuilder.setLineSeparator(byte...) now makes a defensive copy. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Avoid unnecessary String conversion in org.apache.commons.codec.language.bm.PhoneticEngine.applyFinalRules(PhonemeBuilder, Map). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix SpotBugs [ERROR] High: Potentially dangerous use of non-short-circuit logic in org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String) [org.apache.commons.codec.language.DaitchMokotoffSoundex] At DaitchMokotoffSoundex.java:[line 350] NS_DANGEROUS_NON_SHORT_CIRCUIT. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\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/apache/commons-codec/commit/351cb22e1e1948aaabb39a463dce631bea156125\"\u003e\u003ccode\u003e351cb22\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.19.0 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/0d501b60e50ea50e247d8d804945b9a39974ed52\"\u003e\u003ccode\u003e0d501b6\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/d6d4b824539b0d4794200d05286fd3de1ff2f236\"\u003e\u003ccode\u003ed6d4b82\u003c/code\u003e\u003c/a\u003e Refactor duplicate code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/6d6456ca94448ba8ea105e697e3f89a67f3cb7c1\"\u003e\u003ccode\u003e6d6456c\u003c/code\u003e\u003c/a\u003e No need to exclude abstract test classes from Surefire runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/22d62e41374cfe558f995fd2c0f490e6f93339d6\"\u003e\u003ccode\u003e22d62e4\u003c/code\u003e\u003c/a\u003e No need to specify the default value for linkXref\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/c4daf34d4aeb1193ba8feab437b86a871c6b123d\"\u003e\u003ccode\u003ec4daf34\u003c/code\u003e\u003c/a\u003e No longer need to override the version of the Jacoco Maven plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/8f2b67337af5dc40a3701346c6302ab0cf5ca554\"\u003e\u003ccode\u003e8f2b673\u003c/code\u003e\u003c/a\u003e Remove workaround for [SUREFIRE-2253]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/466a61d3f957a9a0727937b3772dc6880db22f01\"\u003e\u003ccode\u003e466a61d\u003c/code\u003e\u003c/a\u003e Fix Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/ca27bd30b6170561786d421eb48f1535dc41336f\"\u003e\u003ccode\u003eca27bd3\u003c/code\u003e\u003c/a\u003e Fix Checkstyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/1dfb4e5bbdc604dc72fe671fded50a5c91bc7543\"\u003e\u003ccode\u003e1dfb4e5\u003c/code\u003e\u003c/a\u003e Better internal method name\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-codec/compare/rel/commons-codec-1.15...rel/commons-codec-1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.bonigarcia:webdrivermanager` from 5.7.0 to 6.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bonigarcia/webdrivermanager/blob/master/CHANGELOG.md\"\u003eio.github.bonigarcia:webdrivermanager's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.3.2] - 2025-09-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConsume stdout/stderr asynchronously and add timeout for shell execution (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix logic to find msedgedriver from XML responses (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1510\"\u003e#1510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix condition to check external connections in download logic\u003c/li\u003e\n\u003cli\u003eFix logic to ignore versions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChanged log level for shell result to trace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.3.1] - 2025-09-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCheck webdriver list before accesing recording in base64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.3.0] - 2025-09-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude getRecordingBase64() in the WebDriverManager API\u003c/li\u003e\n\u003cli\u003eInclude workflows to release WebDriverManager in Maven Central and doc in GH Pages\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump to BrowserWatcher 2.1.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.2.0] - 2025-07-18\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude getResolvedBrowserVersion() in the WebDriverManager API (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Edge driver url (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1489\"\u003e#1489\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.1.1] - 2025-07-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude --disable-features=DisableLoadExtensionCommandLineSwitch to load BrowserWatcher\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate configuration to publish artifacts in Maven Central\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.1.0] - 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWait for extension recording (WEBM) in the Downloads folder\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/bonigarcia/webdrivermanager/commit/c46a9ca4b2649929801b94b8ceea74ab19e3e403\"\u003e\u003ccode\u003ec46a9ca\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release webdrivermanager-6.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/ee694cb6120f65a074313c22fca8844163c9414f\"\u003e\u003ccode\u003eee694cb\u003c/code\u003e\u003c/a\u003e Use mvn versions:revert when creating fat jar in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/cfc2055ba282f3640bd70b10e50920df551c4b9f\"\u003e\u003ccode\u003ecfc2055\u003c/code\u003e\u003c/a\u003e Set SNAPSHOT in pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/eb379305943b8e7e8b8b85470c75b6ae375fdbe2\"\u003e\u003ccode\u003eeb37930\u003c/code\u003e\u003c/a\u003e Fix logic to ignore versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/f287725816bd9e1bea3dd572dd099d77c7972070\"\u003e\u003ccode\u003ef287725\u003c/code\u003e\u003c/a\u003e Minor smell-fixes and formatting in Shell class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/035c7d8676a18b32f4258be59c876cf45e5cb0e7\"\u003e\u003ccode\u003e035c7d8\u003c/code\u003e\u003c/a\u003e Fix condition to check external connections in download logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/1ae5992f33a5fde6b1fb2c3603fda4100935d6dc\"\u003e\u003ccode\u003e1ae5992\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 6.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/c97df1b74d61c2f49ce676a3c2507cb0b6581a0d\"\u003e\u003ccode\u003ec97df1b\u003c/code\u003e\u003c/a\u003e Fix logic to find msedgedriver from XML responses (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1510\"\u003e#1510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/a16be69dad6cf59971b4aa41eab14f3f490b1311\"\u003e\u003ccode\u003ea16be69\u003c/code\u003e\u003c/a\u003e Generate fat jar first in the release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/6756ffbd57287ec662656604f9ce726aec240240\"\u003e\u003ccode\u003e6756ffb\u003c/code\u003e\u003c/a\u003e Update mirror info (Fri Sep 12 00:08:03 UTC 2025)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bonigarcia/webdrivermanager/compare/webdrivermanager-5.7.0...webdrivermanager-6.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.diffplug.spotless:spotless-plugin-gradle` from 6.25.0 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/diffplug/spotless/releases\"\u003ecom.diffplug.spotless:spotless-plugin-gradle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGradle Plugin v8.0.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e Bump the required Gradle to \u003ccode\u003e7.3\u003c/code\u003e and required Java to \u003ccode\u003e17\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2375\"\u003e#2375\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2540\"\u003e#2540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e Renamed \u003ccode\u003eremoveWildcardImports\u003c/code\u003e to \u003ccode\u003eforbidWildcardImports\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2633\"\u003e#2633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e \u003ccode\u003espotlessInstallGitPrePushHook\u003c/code\u003e task is now installed only on the root project. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2570\"\u003e#2570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e \u003ccode\u003eLintSuppression\u003c/code\u003e now enforces unix-style paths in its \u003ccode\u003esetPath\u003c/code\u003e method. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2629\"\u003e#2629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRunning \u003ccode\u003espotlessCheck\u003c/code\u003e with violations unilaterally produces the error message \u003ccode\u003eRun './gradlew spotlessApply' to fix these violations\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2592\"\u003e#2592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump JGit from \u003ccode\u003e6.10.1\u003c/code\u003e to \u003ccode\u003e7.3.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2257\"\u003e#2257\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eAdds support for worktrees (fixes \u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003egoogle-java-format\u003c/code\u003e version to latest \u003ccode\u003e1.24.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e1.28.0\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2345\"\u003e#2345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003egson\u003c/code\u003e version to latest \u003ccode\u003e2.13.1\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.13.2\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2615\"\u003e#2615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ejackson\u003c/code\u003e version to latest \u003ccode\u003e2.19.2\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.20.0\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2606\"\u003e#2606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ektfmt\u003c/code\u003e version to latest \u003ccode\u003e0.53\u003c/code\u003e -\u0026gt; \u003ccode\u003e0.58\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2613\"\u003e#2613\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e use \u003ccode\u003eTrailingCommaManagementStrategy\u003c/code\u003e enum instead of \u003ccode\u003emanageTrailingCommas\u003c/code\u003e boolean configuration option\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ektlint\u003c/code\u003e version to latest \u003ccode\u003e1.5.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e1.7.1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2555\"\u003e#2555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003epalantir-java-format\u003c/code\u003e version to latest \u003ccode\u003e2.57.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.71.0\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect system gitconfig when performing git operations (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2404\"\u003e#2404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003espaceBeforeSeparator\u003c/code\u003e in Jackson formatter. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003espotlessInstallGitPrePushHook\u003c/code\u003e is now compatible with configuration cache. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2570\"\u003e#2570\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThere is now a \u003ccode\u003eforbidRegex(String name, String regex, String lintDetail)\u003c/code\u003e which throws a lint anytime the regex matches. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2633\"\u003e#2633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGradle Plugin v7.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003espotlessInstallGitPrePushHook\u003c/code\u003e didn't work on windows, now fixed. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2562\"\u003e#2562\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGradle Plugin v7.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow specifying path to Biome JSON config file directly in \u003ccode\u003ebiome\u003c/code\u003e step. Requires biome 2.x. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2548\"\u003e#2548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003espotlessInstallGitPrePushHook\u003c/code\u003e task, which installs a Git \u003ccode\u003epre-push\u003c/code\u003e hook to run \u003ccode\u003espotlessCheck\u003c/code\u003e and \u003ccode\u003espotlessApply\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2553\"\u003e#2553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow setting Eclipse XML config from a string, not only from files (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2361\"\u003e#2361\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump default \u003ccode\u003egson\u003c/code\u003e version to latest \u003ccode\u003e2.11.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.13.1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2414\"\u003e#2414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ejackson\u003c/code\u003e version to latest \u003ccode\u003e2.18.1\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.19.2\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2558\"\u003e#2558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003egherkin-utils\u003c/code\u003e version to latest \u003ccode\u003e9.0.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e9.2.0\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2408\"\u003e#2408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ecleanthat\u003c/code\u003e version to latest \u003ccode\u003e2.22\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.23\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2556\"\u003e#2556\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGradle Plugin v7.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for \u003ccode\u003eidea\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2020\"\u003e#2020\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2535\"\u003e#2535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for removing wildcard imports via \u003ccode\u003eremoveWildcardImports\u003c/code\u003e step. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2517\"\u003e#2517\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix biome formatter for new major release 2.x of biome (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2537\"\u003e#2537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake sure npm-based formatters use the correct \u003ccode\u003enode_modules\u003c/code\u003e directory when running in parallel. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2542\"\u003e#2542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump internal dependencies for npm-based formatters (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2542\"\u003e#2542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003escalafmt: enforce version consistency between the version configured in Spotless and the version declared in Scalafmt config file (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2460\"\u003e#2460\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/diffplug/spotless/commit/0761a23782c97b4c425f8f8b5e79f20811f54541\"\u003e\u003ccode\u003e0761a23\u003c/code\u003e\u003c/a\u003e Published gradle/8.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/3373a6bf4ddfc12f1df566b1c1780e99ec2d8bb8\"\u003e\u003ccode\u003e3373a6b\u003c/code\u003e\u003c/a\u003e Published lib/4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/433a1d9c92e5e5566e72faf162c9d9833538d710\"\u003e\u003ccode\u003e433a1d9\u003c/code\u003e\u003c/a\u003e Try to fix publishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/12d83710e3dc0df893910f543293d353cc7b6c01\"\u003e\u003ccode\u003e12d8371\u003c/code\u003e\u003c/a\u003e [openrewrite] initial merge and \u003ccode\u003eUpgradeToJava17\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2636\"\u003e#2636\u003c/a\u003e towards \u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2634\"\u003e#2634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/37d293da2545f07a3b8cd0d69a812e2a04cdc5d1\"\u003e\u003ccode\u003e37d293d\u003c/code\u003e\u003c/a\u003e Take away the custom name for the \u003ccode\u003esanityCheck\u003c/code\u003e CI job.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/2ab1d2fe69d38e24f3226bbd24721c864ca0cb5a\"\u003e\u003ccode\u003e2ab1d2f\u003c/code\u003e\u003c/a\u003e Fix some long-standing Gradle deprecations.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/009c5da700c805857ca86de0e3980ce4ff8b5c11\"\u003e\u003ccode\u003e009c5da\u003c/code\u003e\u003c/a\u003e Rename \u003ccode\u003eremoveWildcardImports\u003c/code\u003e to \u003ccode\u003eforbidWildcardImports\u003c/code\u003e, etc. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2633\"\u003e#2633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/1f4fb93cc671bb2c39dcca1d9502174dc3fbc621\"\u003e\u003ccode\u003e1f4fb93\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2634\"\u003e#2634\u003c/a\u003e: Add \u003ccode\u003eUpgradeToJava17\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/d8d496abe3c5565642b45c998f6aeedd90204fde\"\u003e\u003ccode\u003ed8d496a\u003c/code\u003e\u003c/a\u003e Fix a test.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/c1a2fe5d6629f8fd92a984d16188c68752bfbd32\"\u003e\u003ccode\u003ec1a2fe5\u003c/code\u003e\u003c/a\u003e Fix unfinished parts of the rename.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/diffplug/spotless/compare/gradle/6.25.0...gradle/8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.diffplug.spotless` from 6.25.0 to 8.0.0\n\nUpdates `com.infradna.tool:bridge-method-annotation` from 1.18 to 1.24\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/90b05fc5d86b8e9362bbb31ccc37b28abdc67e52\"\u003e\u003ccode\u003e90b05fc\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1e3123cf4feaa612e6aa77ccf1a12cfd61a473a9\"\u003e\u003ccode\u003e1e3123c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/29\"\u003e#29\u003c/a\u003e from basil/asm-9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/c89b1025f3a4808e3d03a8a84b3f4ece06b96bf1\"\u003e\u003ccode\u003ec89b102\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.2 to 9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a60c63572dbb7a1d1aa91b5fbb0866517db88836\"\u003e\u003ccode\u003ea60c635\u003c/code\u003e\u003c/a\u003e Replaced by README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/8a5b5e9c6d5036aa492e43d3552b40cba07e5d8b\"\u003e\u003ccode\u003e8a5b5e9\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/677782c5cd7b3df04755b6f515c184748b019770\"\u003e\u003ccode\u003e677782c\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/jenkinsci/bridge-method-injector/commit/4682998f65e92142b9b3b185c63eb40ea0ed8c07\"\u003e\u003ccode\u003e4682998\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a2c094ff373921db7d71551d8f3fcd868c56e467\"\u003e\u003ccode\u003ea2c094f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/27\"\u003e#27\u003c/a\u003e from basil/asm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/cd1a8efd21354ac75447e338eee3298b7aa2386a\"\u003e\u003ccode\u003ecd1a8ef\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.0 to 9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1567095d18f443e5cbeb4593520f6fc0345b32fb\"\u003e\u003ccode\u003e1567095\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/infradna/bridge-method-injector/compare/bridge-method-injector-parent-1.18...bridge-method-injector-parent-1.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net.bytebuddy:byte-buddy` from 1.14.13 to 1.17.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raphw/byte-buddy/releases\"\u003enet.bytebuddy:byte-buddy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eByte Buddy 1.17.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpecify correct JVM environment for Android builds when using the Gradle plugin.\u003c/li\u003e\n\u003cli\u003eAvoid recomputing the size of a parameter list for performance reasons after measuring the significant impact.\u003c/li\u003e\n\u003cli\u003eCorrect validation of JVM names to avoid breaking when Java names are not allowed while JVM names are, with Kotlin and others.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.17.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd convenience wrapper for \u003ccode\u003eResettableClassFileTransformer\u003c/code\u003e that implicitly delegates to correct transformer method.\u003c/li\u003e\n\u003cli\u003eAdd filter for deduplicate fields and methods in class file.\u003c/li\u003e\n\u003cli\u003eAdd missing static requirement of Spotbugs annotations to module descriptors.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eLazinessMode\u003c/code\u003e for \u003ccode\u003eTypePool\u003c/code\u003e and add convenience support to \u003ccode\u003eAgentBuilder\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix source jars for multi-version release to contain duplicated source.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.17.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate ASM to version 9.8 to support Java 25 using ASM reader and writer.\u003c/li\u003e\n\u003cli\u003eInclude \u003ccode\u003eAnnotationRemoval\u003c/code\u003e visitor for removing or replacing annotations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.17.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSafeVarargs\u003c/code\u003e plugin.\u003c/li\u003e\n\u003cli\u003eFix OSGi declaration for \u003cem\u003ebyte-buddy-agent\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.17.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug in ASM to Class File API bridge handling tableswitch instructions.\u003c/li\u003e\n\u003cli\u003eAdd plugin for adding \u003ccode\u003eSafeVarargs\u003c/code\u003e annotations.\u003c/li\u003e\n\u003cli\u003eFurther generify \u003ccode\u003eMemberSubstitution\u003c/code\u003e API.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.17.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Class File API integration to include support for several omitted byte codes.\u003c/li\u003e\n\u003cli\u003eAdjust attach API emulation for OpenJ9 to not create subfolder if temporary folder is set explicitly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.17.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug in \u003ccode\u003eMemberSubstitution\u003c/code\u003e were argument indices were resolved by one digit off.\u003c/li\u003e\n\u003cli\u003eUpdate Class File API integration to avoid that parameter annotations are lost.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.17.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAssure that implicit choice for class reader and class writer are always symmetric with regard to internal representation.\u003c/li\u003e\n\u003cli\u003eRetrofit \u003ccode\u003eMemberSubstitution\u003c/code\u003e to also allow for intercepting invokedynamic instructions.\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003e@Handle\u003c/code\u003e annotations to allow for injecting constant pool-stored method handle in \u003ccode\u003eAdvice\u003c/code\u003e, \u003ccode\u003eMemberSubstitution\u003c/code\u003e and \u003ccode\u003eMethodDelegation\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003e@DynamicConstant\u003c/code\u003e annotations to allow for injecting constant pool-stored dynamic constants in \u003ccode\u003eAdvice\u003c/code\u003e, \u003ccode\u003eMemberSubstitution\u003c/code\u003e and \u003ccode\u003eMethodDelegation\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.16.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect reflective activation of Class File API.\u003c/li\u003e\n\u003cli\u003eReject array descriptors that are not well-formed in \u003ccode\u003eTypePool\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.16.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow for erasure of types of bootstrapped methods in \u003ccode\u003eAdvice\u003c/code\u003e within instrumented class.\u003c/li\u003e\n\u003cli\u003eRework \u003ccode\u003eAdvice\u003c/code\u003e post-processing to allow for erasure of bootstrapped methods.\u003c/li\u003e\n\u003cli\u003eFix missing application of hashCode/equals plugin for Java 8 code.\u003c/li\u003e\n\u003cli\u003eInclude support for JDK Class File API.\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003ePlugin.Engine\u003c/code\u003e to retain folders.\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/raphw/byte-buddy/blob/master/release-notes.md\"\u003enet.bytebuddy:byte-buddy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e17. August 2025: version 1.17.7\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpecify correct JVM environment for Android builds when using the Gradle plugin.\u003c/li\u003e\n\u003cli\u003eAvoid recomputing the size of a parameter list for performance reasons after measuring the significant impact.\u003c/li\u003e\n\u003cli\u003eCorrect validation of JVM names to avoid breaking when Java names are not allowed while JVM names are, with Kotlin and others.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e16. June 2025: version 1.17.6\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd convenience wrapper for \u003ccode\u003eResettableClassFileTransformer\u003c/code\u003e that implicitly delegates to correct transformer method.\u003c/li\u003e\n\u003cli\u003eAdd filter for deduplicate fields and methods in class file.\u003c/li\u003e\n\u003cli\u003eAdd missing static requirement of Spotbugs annotations to module descriptors.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eLazinessMode\u003c/code\u003e for \u003ccode\u003eTypePool\u003c/code\u003e and add convenience support to \u003ccode\u003eAgentBuilder\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix source jars for multi-version release to contain duplicated source.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e30. March 2025: version 1.17.5\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate ASM to version 9.8 to support Java 25 using ASM reader and writer.\u003c/li\u003e\n\u003cli\u003eInclude \u003ccode\u003eAnnotationRemoval\u003c/code\u003e visitor for removing or replacing annotations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e23. March 2025: version 1.17.4\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSafeVarargs\u003c/code\u003e plugin.\u003c/li\u003e\n\u003cli\u003eFix OSGi declaration for \u003cem\u003ebyte-buddy-agent\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e21. March 2025: version 1.17.3\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug in ASM to Class File API bridge handling tableswitch instructions.\u003c/li\u003e\n\u003cli\u003eAdd plugin for adding \u003ccode\u003eSafeVarargs\u003c/code\u003e annotations.\u003c/li\u003e\n\u003cli\u003eFurther generify \u003ccode\u003eMemberSubstitution\u003c/code\u003e API.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e3. March 2025: version 1.17.2\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Class File API integration to include support for several omitted byte codes.\u003c/li\u003e\n\u003cli\u003eAdjust attach API emulation for OpenJ9 to not create subfolder if temporary folder is set explicitly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e14. February 2025: version 1.17.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug in \u003ccode\u003eMemberSubstitution\u003c/code\u003e were argument indices were resolved by one digit off.\u003c/li\u003e\n\u003cli\u003eUpdate Class File API integration to avoid that parameter annotations are lost.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e29. January 2025: version 1.17.0\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAssure that implicit choice for class reader and class writer are always symmetric with regard to internal representation.\u003c/li\u003e\n\u003cli\u003eRetrofit \u003ccode\u003eMemberSubstitution\u003c/code\u003e to also allow for intercepting invokedynamic instructions.\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003e@Handle\u003c/code\u003e annotations to allow for injecting constant pool-stored method handle in \u003ccode\u003eAdvice\u003c/code\u003e, \u003ccode\u003eMemberSubstitution\u003c/code\u003e and \u003ccode\u003eMethodDelegation\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003e@DynamicConstant\u003c/code\u003e annotations to allow for injecting constant pool-stored dynamic constants in \u003ccode\u003eAdvice\u003c/code\u003e, \u003ccode\u003eMemberSubstitution\u003c/code\u003e and \u003ccode\u003eMethodDelegation\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e19. January 2025: version 1.16.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect reflective activation of Class File API.\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/raphw/byte-buddy/commit/dc4d0de9c0b71fd5a44d4a0b41d2f0cd762a6639\"\u003e\u003ccode\u003edc4d0de\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release byte-buddy-1.17.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/5e3bf06cbc1df0e876072caec7be7bb4251c08c0\"\u003e\u003ccode\u003e5e3bf06\u003c/code\u003e\u003c/a\u003e [release] Release new version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/5ad9575ef982c0d29cac8c8a8f1b8a055fce79db\"\u003e\u003ccode\u003e5ad9575\u003c/code\u003e\u003c/a\u003e Small improvement of size handling.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/e0e449bbe7705d45785f06fb76feffe4c11c3be3\"\u003e\u003ccode\u003ee0e449b\u003c/code\u003e\u003c/a\u003e [release] Release new version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/75cdf691476fa318f73c8a262da6547e81c96393\"\u003e\u003ccode\u003e75cdf69\u003c/code\u003e\u003c/a\u003e Adjust caching.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/3d7e5b321d41346a7be3df293466c68fb221088a\"\u003e\u003ccode\u003e3d7e5b3\u003c/code\u003e\u003c/a\u003e Minor refactoring.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/0aa4d9afbcb3a3b35318f5b835b4dba77e25fa09\"\u003e\u003ccode\u003e0aa4d9a\u003c/code\u003e\u003c/a\u003e ParameterList - Cache the size and avoid iterator pattern (\u003ca href=\"https://redirect.github.com/raphw/byte-buddy/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/9feca462d92bbb9299ece891338b2e65494b77fe\"\u003e\u003ccode\u003e9feca46\u003c/code\u003e\u003c/a\u003e Specifying configuration jvm environment (\u003ca href=\"https://redirect.github.com/raphw/byte-buddy/issues/1847\"\u003e#1847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/7230e2e421599f779e8b54b8ba68e5b3e46c39e0\"\u003e\u003ccode\u003e7230e2e\u003c/code\u003e\u003c/a\u003e Adjust formatting and naming.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/dbd2be81a88a93965cfe9409cc4eb2214c973143\"\u003e\u003ccode\u003edbd2be8\u003c/code\u003e\u003c/a\u003e Use JVMS 4.2.2 \u0026quot;Unqualified name\u0026quot; definition to validate identifier (\u003ca href=\"https://redirect.github.com/raphw/byte-buddy/issues/1829\"\u003e#1829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/raphw/byte-buddy/compare/byte-buddy-1.14.13...byte-buddy-1.17.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.commons:commons-collections4` from 4.4 to 4.5.0\n\nUpdates `org.apache.commons:commons-csv` from 1.10.0 to 1.14.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-csv/blob/master/RELEASE-NOTES.txt\"\u003eorg.apache.commons:commons-csv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons CSV 1.14.1 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons CSV team is pleased to announce the release of Apache Commons CSV 1.14.1.\u003c/p\u003e\n\u003cp\u003eThis document contains the release notes for the 1.14.1 version of Apache Commons CSV.\nCommons CSV reads and writes files in Comma Separated Value (CSV) format variations.\u003c/p\u003e\n\u003cp\u003eCommons CSV requires at least Java 8.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003cp\u003eChanges in this version include:\u003c/p\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCSV-318:  CSVPrinter.printRecord(Stream) hangs if given a parallel stream. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCSV-318:  CSVPrinter now uses an internal lock instead of synchronized methods. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      org.apache.commons.csv.CSVPrinter.printRecords(ResultSet) now writes one record at a time using a lock. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-parent from 81 to 85 [#542](https://github.com/apache/commons-csv/issues/542). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-io:commons-io from 2.18.0 to 2.20.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump com.opencsv:opencsv from 5.10 to 5.11.2 [#545](https://github.com/apache/commons-csv/issues/545), [#551](https://github.com/apache/commons-csv/issues/551), [#553](https://github.com/apache/commons-csv/issues/553). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 [#556](https://github.com/apache/commons-csv/issues/556). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-codec:commons-codec from 1.18.0 to 1.19.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHistorical list of changes: \u003ca href=\"https://commons.apache.org/proper/commons-csv/changes.html\"\u003ehttps://commons.apache.org/proper/commons-csv/changes.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFor complete information on Apache Commons CSV, including instructions on how to submit bug reports,\npatches, or suggestions for improvement, see the Apache Commons CSV website:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://commons.apache.org/proper/commons-csv/\"\u003ehttps://commons.apache.org/proper/commons-csv/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDownload page: \u003ca href=\"https://commons.apache.org/proper/commons-csv/download_csv.cgi\"\u003ehttps://commons.apache.org/proper/commons-csv/download_csv.cgi\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eHave fun!\n-Apache Commons CSV team\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eApache Commons CSV 1.14.0 Release Notes\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/apache/commons-csv/commit/e14ef86d34211f9d1b9b6040c5f6dbafc93ba907\"\u003e\u003ccode\u003ee14ef86\u003c/code\u003e\u003c/a\u003e Ignore macOS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/d8724bf76a7d6abbb93aad65e316f050f86a256d\"\u003e\u003ccode\u003ed8724bf\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.14.1 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b76971c25af176f901c003b25d6a5f4f6edc87ad\"\u003e\u003ccode\u003eb76971c\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b66814ef248186b7a8316b85e1208c705dba06e3\"\u003e\u003ccode\u003eb66814e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/apache/commons-csv/issues/557\"\u003e#557\u003c/a\u003e from apache/dependabot/github_actions/github/codeql-a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/9c95e92d6aaa4d052a139158a900395646c6652e\"\u003e\u003ccode\u003e9c95e92\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.29.2 to 3.29.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/1fb37163f9fe59aa13c63efd53e71d7a0392be4c\"\u003e\u003ccode\u003e1fb3716\u003c/code\u003e\u003c/a\u003e Bump commons-codec:commons-codec from 1.18.0 to 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/7b72c509f73e05ca2bf2f0945a6a1cb03f87bd39\"\u003e\u003ccode\u003e7b72c50\u003c/code\u003e\u003c/a\u003e Merge some string literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/96583732b6be55d459a5b430c4a3a3bb2126db10\"\u003e\u003ccode\u003e9658373\u003c/code\u003e\u003c/a\u003e Update the GitHub pull request template for AI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/67192a9e0af58bdf49edf4e0d29f50343da82c70\"\u003e\u003ccode\u003e67192a9\u003c/code\u003e\u003c/a\u003e Bump commons-io:commons-io from 2.19.0 to 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/59164c8b795ebd4cc0362c4c74d7c893c4a50303\"\u003e\u003ccode\u003e59164c8\u003c/code\u003e\u003c/a\u003e Bump com.opencsv:opencsv from 5.11.1 to 5.11.2 \u003ca href=\"https://redirect.github.com/apache/commons-csv/issues/553\"\u003e#553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-csv/compare/rel/commons-csv-1.10.0...rel/commons-csv-1.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commons-io:commons-io` from 2.16.1 to 2.20.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-io/blob/master/RELEASE-NOTES.txt\"\u003ecommons-io:commons-io's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eApache Commons IO 2.20.0 Release Notes\u003c/p\u003e\n\u003cp\u003eThe Apache Commons IO team...\n\n_Description has been truncated_","html_url":"https://github.com/ricekot/zap-extensions/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricekot%2Fzap-extensions/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"2879499199","node_id":"PR_kwDOLO2MSM6roau_","number":226,"state":"closed","title":"Bump org.kohsuke:github-api from 1.329 to 1.330 in /dashgit-updater","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-04T10:43:20.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T20:07:37.000Z","updated_at":"2025-10-04T10:43:21.000Z","time_to_close":225343,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.kohsuke:github-api","old_version":"1.329","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"}],"path":"/dashgit-updater","ecosystem":"maven"},"body":"Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.329 to 1.330.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\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=org.kohsuke:github-api\u0026package-manager=maven\u0026previous-version=1.329\u0026new-version=1.330)](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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/javiertuya/dashgit/pull/226","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/javiertuya%2Fdashgit/issues/226","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/226/packages"},{"uuid":"2879314778","node_id":"PR_kwDOHu-sgM6rntta","number":790,"state":"closed","title":"build(deps): bump org.kohsuke:github-api from 1.329 to 1.330","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-10-02T15:17:16.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T19:02:16.000Z","updated_at":"2025-10-02T15:17:17.000Z","time_to_close":72900,"merged_at":"2025-10-02T15:17:16.000Z","merged_by":"o-kopysov","closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"org.kohsuke:github-api","old_version":"1.329","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"}],"path":null,"ecosystem":"maven"},"body":"Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.329 to 1.330.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\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=org.kohsuke:github-api\u0026package-manager=maven\u0026previous-version=1.329\u0026new-version=1.330)](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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/Samsung/LPVS/pull/790","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samsung%2FLPVS/issues/790","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/790/packages"},{"uuid":"2877813190","node_id":"PR_kwDOFbgKu86rh_HG","number":1209,"state":"open","title":"Bump org.kohsuke:github-api from 1.116 to 1.330","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-01T11:10:15.000Z","updated_at":"2025-10-01T11:10:16.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.kohsuke:github-api","old_version":"1.116","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"}],"path":null,"ecosystem":"maven"},"body":"Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.116 to 1.330.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.116...github-api-1.330\"\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=org.kohsuke:github-api\u0026package-manager=maven\u0026previous-version=1.116\u0026new-version=1.330)](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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/MaxMood96/jetty.project/pull/1209","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxMood96%2Fjetty.project/issues/1209","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1209/packages"},{"uuid":"3472922646","node_id":"PR_kwDOLCkU8c6rhZ4T","number":143,"state":"closed","title":"build(deps): bump the maven-dependencies group with 24 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-01T10:06:53.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-01T10:15:24.000Z","updated_at":"2025-11-01T10:06:55.000Z","time_to_close":2677889,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven-dependencies","update_count":24,"packages":[{"name":"org.jetbrains.kotlin.android","old_version":"2.2.10","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.10","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"plugin.serialization","old_version":"2.2.10","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.11.0"},{"name":"androidx.activity:activity-ktx","old_version":"1.10.1","new_version":"1.11.0"},{"name":"androidx.compose:compose-bom","old_version":"2025.08.01","new_version":"2025.09.01"},{"name":"androidx.lifecycle:lifecycle-livedata-ktx","old_version":"2.9.3","new_version":"2.9.4"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.3","new_version":"2.9.4"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.3","new_version":"2.9.4"},{"name":"androidx.lifecycle:lifecycle-viewmodel-ktx","old_version":"2.9.3","new_version":"2.9.4"},{"name":"androidx.compose.material3:material3","old_version":"1.5.0-alpha03","new_version":"1.5.0-alpha04"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.5.0-alpha03","new_version":"1.5.0-alpha04"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.9.0","new_version":"1.9.2"},{"name":"androidx.compose.ui:ui","old_version":"1.9.0","new_version":"1.9.2"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.9.0","new_version":"1.9.2"},{"name":"androidx.compose.ui:ui-tooling-preview","old_version":"1.9.0","new_version":"1.9.2"},{"name":"androidx.compose.ui:ui-graphics","old_version":"1.9.0","new_version":"1.9.2"},{"name":"org.apache.commons:commons-compress","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/apache/commons-compress"},{"name":"com.google.firebase:firebase-bom","old_version":"34.2.0","new_version":"34.3.0"},{"name":"org.kohsuke:github-api","old_version":"1.329","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.google.code.gson:gson","old_version":"2.13.1","new_version":"2.13.2","repository_url":"https://github.com/google/gson"},{"name":"com.google.android.material:material","old_version":"1.14.0-alpha04","new_version":"1.14.0-alpha05","repository_url":"https://github.com/material-components/material-components-android"},{"name":"androidx.activity:activity","old_version":"1.10.1","new_version":"1.11.0"},{"name":"com.android.application","old_version":"8.12.2","new_version":"8.13.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven-dependencies group with 24 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.10` | `2.2.20` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.10` | `2.2.20` |\n| [plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.10` | `2.2.20` |\n| androidx.activity:activity-compose | `1.10.1` | `1.11.0` |\n| androidx.activity:activity-ktx | `1.10.1` | `1.11.0` |\n| androidx.compose:compose-bom | `2025.08.01` | `2025.09.01` |\n| androidx.lifecycle:lifecycle-livedata-ktx | `2.9.3` | `2.9.4` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.3` | `2.9.4` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.3` | `2.9.4` |\n| androidx.lifecycle:lifecycle-viewmodel-ktx | `2.9.3` | `2.9.4` |\n| androidx.compose.material3:material3 | `1.5.0-alpha03` | `1.5.0-alpha04` |\n| androidx.compose.material3:material3-window-size-class | `1.5.0-alpha03` | `1.5.0-alpha04` |\n| androidx.compose.runtime:runtime-livedata | `1.9.0` | `1.9.2` |\n| androidx.compose.ui:ui | `1.9.0` | `1.9.2` |\n| androidx.compose.ui:ui-tooling | `1.9.0` | `1.9.2` |\n| androidx.compose.ui:ui-tooling-preview | `1.9.0` | `1.9.2` |\n| androidx.compose.ui:ui-graphics | `1.9.0` | `1.9.2` |\n| [org.apache.commons:commons-compress](https://github.com/apache/commons-compress) | `1.27.1` | `1.28.0` |\n| com.google.firebase:firebase-bom | `34.2.0` | `34.3.0` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.329` | `1.330` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.1` | `2.13.2` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.14.0-alpha04` | `1.14.0-alpha05` |\n| androidx.activity:activity | `1.10.1` | `1.11.0` |\n| com.android.application | `8.12.2` | `8.13.0` |\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.10 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.10 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plugin.serialization` from 2.2.10 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eplugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eplugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.11.0\n\nUpdates `androidx.activity:activity-ktx` from 1.10.1 to 1.11.0\n\nUpdates `androidx.activity:activity-ktx` from 1.10.1 to 1.11.0\n\nUpdates `androidx.compose:compose-bom` from 2025.08.01 to 2025.09.01\n\nUpdates `androidx.lifecycle:lifecycle-livedata-ktx` from 2.9.3 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.3 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.3 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.9.3 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.3 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.3 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.9.3 to 2.9.4\n\nUpdates `androidx.compose.material3:material3` from 1.5.0-alpha03 to 1.5.0-alpha04\n\nUpdates `androidx.compose.material3:material3-window-size-class` from 1.5.0-alpha03 to 1.5.0-alpha04\n\nUpdates `androidx.compose.material3:material3-window-size-class` from 1.5.0-alpha03 to 1.5.0-alpha04\n\nUpdates `androidx.compose.runtime:runtime-livedata` from 1.9.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui` from 1.9.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-tooling` from 1.9.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.9.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-graphics` from 1.9.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-tooling` from 1.9.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.9.0 to 1.9.2\n\nUpdates `org.apache.commons:commons-compress` from 1.27.1 to 1.28.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-compress/blob/master/RELEASE-NOTES.txt\"\u003eorg.apache.commons:commons-compress's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons Compress 1.28.0 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons Compress team is pleased to announce the release of Apache Commons Compress 1.28.0.\u003c/p\u003e\n\u003cp\u003eApache Commons Compress defines an API for working with\ncompression and archive formats. These include bzip2, gzip, pack200,\nLZMA, XZ, Snappy, traditional Unix Compress, DEFLATE, DEFLATE64, LZ4,\nBrotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003cp\u003eThis release updates Apache Commons Lang to 3.18.0 to pick up the fix for CVE-2025-48924 (\u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2025-48924\"\u003ehttps://nvd.nist.gov/vuln/detail/CVE-2025-48924\u003c/a\u003e), but is not affected by it.\u003c/p\u003e\n\u003ch2\u003eChanges in this version\u003c/h2\u003e\n\u003cp\u003eChanges in this version include the following.\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipParameters.getModificationInstant(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipParameters.setModificationInstant(Instant). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipParameters.OS, setOS(OS), getOS(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipParameters.toString(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCOMPRESS-638:  Add GzipParameters.setFileNameCharset(Charset) and getFileNameCharset() to override the default ISO-8859-1 Charset \u003ca href=\"https://redirect.github.com/apache/commons-compress/issues/602\"\u003e#602\u003c/a\u003e. Thanks to vincexjl, Gary Gregory, Piotr P. Karwasz.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add support for gzip extra subfields, see GzipParameters.setExtra(HeaderExtraField) [#604](https://github.com/apache/commons-compress/issues/604). Thanks to ddeschenes-1, Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add CompressFilterOutputStream and refactor to use. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add ZipFile.stream(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       GzipCompressorInputStream reads the modification time (MTIME) and stores its value incorrectly multiplied by 1,000. Thanks to Danny Deschenes, Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       GzipCompressorInputStream writes the modification time (MTIME) the value incorrectly divided by 1,000. Thanks to Danny Deschenes, Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add optional FHCRC to GZIP header [#627](https://github.com/apache/commons-compress/issues/627). Thanks to Danny Deschenes, Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipCompressorInputStream.Builder allowing to customize the file name and comment Charsets. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipCompressorInputStream.Builder.setOnMemberStart(IOConsumer) to monitor member parsing. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipCompressorInputStream.Builder.setOnMemberEnd(IOConsumer) to monitor member parsing. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add PMD check to default Maven goal. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add SevenZFile.Builder.setMaxMemoryLimitKiB(int). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add MemoryLimitException.MemoryLimitException(long, int, Throwable) and deprecate MemoryLimitException.MemoryLimitException(long, int, Exception). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCOMPRESS-692:  Add support for zstd compression in zip archives. Thanks to Mehmet Karaman, Andrey Loskutov, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add support for XZ compression in ZIP archives. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCOMPRESS-695:  Add ZipArchiveInputStream.createZstdInputStream(InputStream) to provide a different InputStream implementation for Zstandard (Zstd) \u003ca href=\"https://redirect.github.com/apache/commons-compress/issues/649\"\u003e#649\u003c/a\u003e. Thanks to Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.harmony.pack200.Pack200Exception.Pack200Exception(String, Throwable). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCOMPRESS-697:  Move BitStream.nextBit() method to BitInputStream \u003ca href=\"https://redirect.github.com/apache/commons-compress/issues/663\"\u003e#663\u003c/a\u003e. Thanks to Fredrik Kjellberg, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.lzma.LZMACompressorInputStream.builder/Builder(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.lzma.LZMACompressorOutputStream.builder/Builder(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.xz.XZCompressorInputStream.builder/Builder(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.xz.XZCompressorOutputStream.builder/Builder(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.xz.ZstdCompressorOutputStream.builder/Builder() [#666](https://github.com/apache/commons-compress/issues/666). Thanks to Gary Gregory, David Walluck, Piotr P. Karwasz. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.xz.ZstdConstants [#666](https://github.com/apache/commons-compress/issues/666). Thanks to Gary Gregory, David Walluck, Piotr P. Karwasz. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/852d9c23b94127feafc1649d9c7f13d4df338845\"\u003e\u003ccode\u003e852d9c2\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.28.0 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/f5eb9e28edf8a661ac5efc43b7853ee49bb73b3a\"\u003e\u003ccode\u003ef5eb9e2\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/36f204caa6f7bb2c92a9ad04ba246ad47a2465d2\"\u003e\u003ccode\u003e36f204c\u003c/code\u003e\u003c/a\u003e Camel case parameter name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/4c04e4a803831c00663a6dafd0f0837fba60633b\"\u003e\u003ccode\u003e4c04e4a\u003c/code\u003e\u003c/a\u003e Use final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/6cb7da194a9369edfbd65629576203b8af61ba44\"\u003e\u003ccode\u003e6cb7da1\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/563c9d2fa4d2340902284fc044a7398fc15da5fb\"\u003e\u003ccode\u003e563c9d2\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/ce73bd890e50fcb88d362fc8298f31fa90d802aa\"\u003e\u003ccode\u003ece73bd8\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/a464ae94e0f9c59e9bc30be6086d876f9907d0a4\"\u003e\u003ccode\u003ea464ae9\u003c/code\u003e\u003c/a\u003e Better parameter names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/c0b2b84144d923a2bf7caada35e1d9bb5d562e78\"\u003e\u003ccode\u003ec0b2b84\u003c/code\u003e\u003c/a\u003e Add TODO for next major version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/c76bc976703dc0cebfb6d4653061b8ac3524421d\"\u003e\u003ccode\u003ec76bc97\u003c/code\u003e\u003c/a\u003e Use OpenVEX to document that we are not affected by CVE-2025-48924 in\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-compress/compare/rel/commons-compress-1.27.1...rel/commons-compress-1.28.0\"\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-bom` from 34.2.0 to 34.3.0\n\nUpdates `org.kohsuke:github-api` from 1.329 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.code.gson:gson` from 2.13.1 to 2.13.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/gson/releases\"\u003ecom.google.code.gson:gson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGson 2.13.2\u003c/h2\u003e\n\u003cp\u003eThe main changes in this release are just newer dependencies.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved packaging of JPMS module declaration in Gson jar\u003cbr /\u003e\nThis fixes an issue where Eclipse and VS Code users could not refer to the Gson module name \u003ccode\u003ecom.google.gson\u003c/code\u003e. See issue \u003ca href=\"https://redirect.github.com/google/gson/issues/2679\"\u003egoogle/gson#2679\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove internal class \u003ccode\u003eGsonPreconditions\u003c/code\u003e by \u003ca href=\"https://github.com/Marcono1234\"\u003e\u003ccode\u003e@​Marcono1234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2879\"\u003egoogle/gson#2879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSwitch to using central-publishing-maven-plugin by \u003ca href=\"https://github.com/eamonnmcmanus\"\u003e\u003ccode\u003e@​eamonnmcmanus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2900\"\u003egoogle/gson#2900\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2852\"\u003egoogle/gson#2852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ChrisCraik\"\u003e\u003ccode\u003e@​ChrisCraik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2856\"\u003egoogle/gson#2856\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.1...gson-parent-2.13.2\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.13.1...gson-parent-2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/686fad782d969d8f15c7581a5435a208b810caa7\"\u003e\u003ccode\u003e686fad7\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release gson-parent-2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/c2d252a7e93d45b224a72b4ba8148a438cc1d59b\"\u003e\u003ccode\u003ec2d252a\u003c/code\u003e\u003c/a\u003e Switch to using central-publishing-maven-plugin. (\u003ca href=\"https://redirect.github.com/google/gson/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/69cb755e5209b719b57f3b6f1a864b080cdca314\"\u003e\u003ccode\u003e69cb755\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 5 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/ea552c2278784e12094c8daea06b18679b2da2c9\"\u003e\u003ccode\u003eea552c2\u003c/code\u003e\u003c/a\u003e Bump the maven group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2898\"\u003e#2898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/fdc616d0da2fea0b28828386a38396eac66d85fd\"\u003e\u003ccode\u003efdc616d\u003c/code\u003e\u003c/a\u003e Set top-level permissions for CodeQL workflow (\u003ca href=\"https://redirect.github.com/google/gson/issues/2889\"\u003e#2889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/9334715a48aaf11c9f80f89f8242ba7d1c2d0c27\"\u003e\u003ccode\u003e9334715\u003c/code\u003e\u003c/a\u003e Create scorecard.yml (\u003ca href=\"https://redirect.github.com/google/gson/issues/2888\"\u003e#2888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/f7de5c2c22dae98f2f98eefcb70c920ff71e437b\"\u003e\u003ccode\u003ef7de5c2\u003c/code\u003e\u003c/a\u003e Bump the maven group with 8 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2885\"\u003e#2885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/8c23cd363daec806d2e9b69665520043914782ac\"\u003e\u003ccode\u003e8c23cd3\u003c/code\u003e\u003c/a\u003e Update sources to satisfy a new Error Prone check. (\u003ca href=\"https://redirect.github.com/google/gson/issues/2887\"\u003e#2887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5eab3eda9fff9db77b82eae621c26f1d7263386f\"\u003e\u003ccode\u003e5eab3ed\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2886\"\u003e#2886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5f5c20026009010608de17a9e5312849230b3b0b\"\u003e\u003ccode\u003e5f5c200\u003c/code\u003e\u003c/a\u003e Bump the maven group across 1 directory with 10 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2872\"\u003e#2872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.1...gson-parent-2.13.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.android.material:material` from 1.14.0-alpha04 to 1.14.0-alpha05\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0-alpha05\u003c/h2\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003ecompileSdkVersion\u003c/code\u003e was updated to 35.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with AGP 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003cp\u003eNone\u003c/p\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCatalog\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate nav drawer demo to use dispatchKeyEvent instead of onKeyDown since onKeyDown can sometimes be consumed by a view with focus (fe1c0d6ca1d43c091606ffb2e7d616ac49de858d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChip\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed fontVariationSettings from TextAppearance being overwritten in ChipDrawable. (de5730e0d1bb0414f31b530e835dde713230bdf7)\u003c/li\u003e\n\u003cli\u003eAdded support for variable font axes (fb7ae0134841550d47733bb7c83cf636b3f28144)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDocumentation\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003erename buttongroup-overflow-menu.png to buttongroup-overflow-wrap.png (add buttongroup-overflow-menu.png) (14cb33b3ca8968f325fca2b88f5649a126d2ffb6)\u003c/li\u003e\n\u003cli\u003eRemoved the default style and updated the theme attribute code for non-default (9e1c68d6f21cd13deea43f0839532747668cfe14)\u003c/li\u003e\n\u003cli\u003eUpdated documentation with Expressive code/info for: (fca1418bf401b36ad67d37f8968c261cc3ebe2cd)\u003c/li\u003e\n\u003cli\u003eUpdated documentation with additional code/info and updated the nomenclature of images in the following docs: (cc2390f1a2b314c4f89114f51ad81fb642e491eb)\u003c/li\u003e\n\u003cli\u003eUpdated docs with Expressive code/info. (2b29a266adaac3ea8cca0cc6027cead9723cc351)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLists\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eAdd selector for optional leading icon (14a6267605fee561fbba9c31ec11bfc67131bd71)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialButton\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the \u0026quot;wrap\u0026quot; overflow mode. (7c66a2ef9474046b8fbd45e3cfa8de0c89dc2a4a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialCardView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eAdds keyboard drag and drop support to the card demo fragment (11fafd96b6ab8d9b9c5b07f895b0e4d300559104)\u003c/li\u003e\n\u003cli\u003eAdd drawable states that MaterialCardView should still respect, even if duplicating its parent state (c99cba6a7642e22e42a958b75154699a49888a09)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMenu\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix context menu keyboard controls in Menu demo (fb26da61e63b4e2861bb9b90bd82a9f315adde30)\u003c/li\u003e\n\u003cli\u003eUpdate Menu Catalog Demo to use Ctrl + Enter for Context Menu (4852ebcf2f622138bd8a23b8d95eae4e5e652a36)\u003c/li\u003e\n\u003cli\u003eMake context menu TextView focusable on Menu demo screen (8dd5a810868fee5db7566d5b3709a9387a4835d1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eProgressIndicator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an API to automatically hide the indicator after it reaches max progress. (4c74b80de2317a2d5d4bdeb720b20b54d1204980)\u003c/li\u003e\n\u003cli\u003eUpdated SpringAnimation's minimum visible change and added APIs to customize spring force in DeterminateDrawable. (659e3bcb6d7582a3de4c204f91c0c12a8db35981)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSideSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eImprove keyboard navigation in SideSheet catalog demos (59f0fc5f418179c3701314f091057d9981c38deb)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTimePicker\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eAccessibility focus on error (9d8506a02045ec19887c4fe687819a6f4a81af5d)\u003c/li\u003e\n\u003cli\u003eFix error beep sound (5f7634f9191c385bd378cba6b4bf8462d830a333)\u003c/li\u003e\n\u003cli\u003eError handling update (d241d48bb08e9143ce93c14fdba300815d04bce8)\u003c/li\u003e\n\u003cli\u003eError handling update (d2cce659d189257fa72a9f82dbedf53fa6736273)\u003c/li\u003e\n\u003cli\u003eAdd tooltip to MaterialTimePicker mode toggle button (e69709f5fac1cadda5efdd7f59d003f3fca6fac9)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTopAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFull list of changes\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/material-components/material-components-android/compare/1.14.0-alpha04...1.14.0-alpha05\"\u003ehttps://github.com/material-components/material-components-android/compare/1.14.0-alpha04...1.14.0-alpha05\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/material-components/material-components-android/commit/2cbd7b08ba856866fcc63318bce030ff83e006de\"\u003e\u003ccode\u003e2cbd7b0\u003c/code\u003e\u003c/a\u003e [i18n] Update string translations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/0bdb13b770e898628053c4a004f9e06692fc380b\"\u003e\u003ccode\u003e0bdb13b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-alpha05\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/9d8506a02045ec19887c4fe687819a6f4a81af5d\"\u003e\u003ccode\u003e9d8506a\u003c/code\u003e\u003c/a\u003e [TimePicker] Accessibility focus on error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80106b57f199dd0de167eeb40a8bb19b1681b567\"\u003e\u003ccode\u003e80106b5\u003c/code\u003e\u003c/a\u003e Internal change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14cb33b3ca8968f325fca2b88f5649a126d2ffb6\"\u003e\u003ccode\u003e14cb33b\u003c/code\u003e\u003c/a\u003e [Docs] rename buttongroup-overflow-menu.png to buttongroup-overflow-wrap.png ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/de5730e0d1bb0414f31b530e835dde713230bdf7\"\u003e\u003ccode\u003ede5730e\u003c/code\u003e\u003c/a\u003e [Chip] Fixed fontVariationSettings from TextAppearance being overwritten in C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/5f7634f9191c385bd378cba6b4bf8462d830a333\"\u003e\u003ccode\u003e5f7634f\u003c/code\u003e\u003c/a\u003e [TimePicker] Fix error beep sound\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fb7ae0134841550d47733bb7c83cf636b3f28144\"\u003e\u003ccode\u003efb7ae01\u003c/code\u003e\u003c/a\u003e [Chip] Added support for variable font axes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/11fafd96b6ab8d9b9c5b07f895b0e4d300559104\"\u003e\u003ccode\u003e11fafd9\u003c/code\u003e\u003c/a\u003e [Card][A11y] Adds keyboard drag and drop support to the card demo fragment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fb26da61e63b4e2861bb9b90bd82a9f315adde30\"\u003e\u003ccode\u003efb26da6\u003c/code\u003e\u003c/a\u003e [Menu][A11y] Fix context menu keyboard controls in Menu demo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.14.0-alpha04...1.14.0-alpha05\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.activity:activity` from 1.10.1 to 1.11.0\n\nUpdates `com.android.application` from 8.12.2 to 8.13.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.10 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"h...\n\n_Description has been truncated_","html_url":"https://github.com/klxiaoniu/QQVersionList/pull/143","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/klxiaoniu%2FQQVersionList/issues/143","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/143/packages"},{"uuid":"2876583372","node_id":"PR_kwDOBdifgc6rdS3M","number":375,"state":"closed","title":"Bump the gradle-deps group with 5 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-01T05:52:33.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T02:01:38.000Z","updated_at":"2025-10-01T05:52:33.000Z","time_to_close":13855,"merged_at":"2025-10-01T05:52:33.000Z","merged_by":"chadlwilson","closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-deps","update_count":5,"packages":[{"name":"org.junit:junit-bom","old_version":"5.13.4","new_version":"6.0.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"com.google.code.gson:gson","old_version":"2.13.1","new_version":"2.13.2","repository_url":"https://github.com/google/gson"},{"name":"org.kohsuke:github-api","old_version":"1.329","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"org.assertj:assertj-core","old_version":"3.27.4","new_version":"3.27.6","repository_url":"https://github.com/assertj/assertj"},{"name":"org.mockito:mockito-core","old_version":"5.19.0","new_version":"5.20.0","repository_url":"https://github.com/mockito/mockito"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-deps group with 5 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.junit:junit-bom](https://github.com/junit-team/junit-framework) | `5.13.4` | `6.0.0` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.1` | `2.13.2` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.329` | `1.330` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.27.4` | `3.27.6` |\n| [org.mockito:mockito-core](https://github.com/mockito/mockito) | `5.19.0` | `5.20.0` |\n\nUpdates `org.junit:junit-bom` from 5.13.4 to 6.0.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.0.0 = Platform 6.0.0 + Jupiter 6.0.0 + Vintage 6.0.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0/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/2897robo\"\u003e\u003ccode\u003e@​2897robo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4525\"\u003ejunit-team/junit-framework#4525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strangelookingnerd\"\u003e\u003ccode\u003e@​strangelookingnerd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4683\"\u003ejunit-team/junit-framework#4683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eric6iese\"\u003e\u003ccode\u003e@​eric6iese\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4717\"\u003ejunit-team/junit-framework#4717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raccoonback\"\u003e\u003ccode\u003e@​raccoonback\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4822\"\u003ejunit-team/junit-framework#4822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/currenjin\"\u003e\u003ccode\u003e@​currenjin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4823\"\u003ejunit-team/junit-framework#4823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\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/r5.14.0...r6.0.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC3 = Platform 6.0.0-RC3 + Jupiter 6.0.0-RC3 + Vintage 6.0.0-RC3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC3/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/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\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-RC2...r6.0.0-RC3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC2 = Platform 6.0.0-RC2 + Jupiter 6.0.0-RC2 + Vintage 6.0.0-RC2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC2/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC1 = Platform 6.0.0-RC1 + Jupiter 6.0.0-RC1 + Vintage 6.0.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.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/raccoonback\"\u003e\u003ccode\u003e@​raccoonback\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4822\"\u003ejunit-team/junit-framework#4822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/currenjin\"\u003e\u003ccode\u003e@​currenjin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4823\"\u003ejunit-team/junit-framework#4823\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-M2...r6.0.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-M2...r6.0.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-M2 = Platform 6.0.0-M2 + Jupiter 6.0.0-M2 + Vintage 6.0.0-M2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-M2/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/eric6iese\"\u003e\u003ccode\u003e@​eric6iese\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4717\"\u003ejunit-team/junit-framework#4717\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-M1...r6.0.0-M2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-M1...r6.0.0-M2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4f7959463a5bc1fc6a1150aefcbf1ff42927a18e\"\u003e\u003ccode\u003e4f79594\u003c/code\u003e\u003c/a\u003e Release 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/55af30a7ffca8fd64a9c9e38958407285d23ffe0\"\u003e\u003ccode\u003e55af30a\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Use \u003ccode\u003edevelop/6.x\u003c/code\u003e branch for junit-examples during release build\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/df3cfdd52554cb71111a3fa48bff0b5518072f87\"\u003e\u003ccode\u003edf3cfdd\u003c/code\u003e\u003c/a\u003e Release 5.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/fcb84a25bc12e20a5330f3d46dd1cb5cbf2a4905\"\u003e\u003ccode\u003efcb84a2\u003c/code\u003e\u003c/a\u003e Disable backward compatibility check when offline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/c9c8344ce55a7a77c9fa8848db21c279473ec22d\"\u003e\u003ccode\u003ec9c8344\u003c/code\u003e\u003c/a\u003e Prune 5.14.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/03d8a725f07b484c070dd459aa8fd642222f06ee\"\u003e\u003ccode\u003e03d8a72\u003c/code\u003e\u003c/a\u003e Update broken link to using API Gaurdian with bndtools\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a0b29b46c05ac11b2e7cac1a1535276c465b0ad\"\u003e\u003ccode\u003e3a0b29b\u003c/code\u003e\u003c/a\u003e Use temporary JUnit 6 logo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/6603caa17823bd632436e040ace1507404c2c4c3\"\u003e\u003ccode\u003e6603caa\u003c/code\u003e\u003c/a\u003e Rename \u003ccode\u003eeclipseClasspath\u003c/code\u003e to \u003ccode\u003eeclipseConventions\u003c/code\u003e to avoid confusion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ab3470b8ad05e71e0dfa26cc3c4f5e5d2583ee74\"\u003e\u003ccode\u003eab3470b\u003c/code\u003e\u003c/a\u003e Make sealed \u003ccode\u003eMediaType\u003c/code\u003e work in Eclipse\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/a8cd41e5164030dd815a75d1d513df8fa846fac0\"\u003e\u003ccode\u003ea8cd41e\u003c/code\u003e\u003c/a\u003e Remove annotations not visible in Eclipse\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.13.4...r6.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.code.gson:gson` from 2.13.1 to 2.13.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/gson/releases\"\u003ecom.google.code.gson:gson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGson 2.13.2\u003c/h2\u003e\n\u003cp\u003eThe main changes in this release are just newer dependencies.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved packaging of JPMS module declaration in Gson jar\u003cbr /\u003e\nThis fixes an issue where Eclipse and VS Code users could not refer to the Gson module name \u003ccode\u003ecom.google.gson\u003c/code\u003e. See issue \u003ca href=\"https://redirect.github.com/google/gson/issues/2679\"\u003egoogle/gson#2679\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove internal class \u003ccode\u003eGsonPreconditions\u003c/code\u003e by \u003ca href=\"https://github.com/Marcono1234\"\u003e\u003ccode\u003e@​Marcono1234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2879\"\u003egoogle/gson#2879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSwitch to using central-publishing-maven-plugin by \u003ca href=\"https://github.com/eamonnmcmanus\"\u003e\u003ccode\u003e@​eamonnmcmanus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2900\"\u003egoogle/gson#2900\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2852\"\u003egoogle/gson#2852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ChrisCraik\"\u003e\u003ccode\u003e@​ChrisCraik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2856\"\u003egoogle/gson#2856\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.1...gson-parent-2.13.2\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.13.1...gson-parent-2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/686fad782d969d8f15c7581a5435a208b810caa7\"\u003e\u003ccode\u003e686fad7\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release gson-parent-2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/c2d252a7e93d45b224a72b4ba8148a438cc1d59b\"\u003e\u003ccode\u003ec2d252a\u003c/code\u003e\u003c/a\u003e Switch to using central-publishing-maven-plugin. (\u003ca href=\"https://redirect.github.com/google/gson/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/69cb755e5209b719b57f3b6f1a864b080cdca314\"\u003e\u003ccode\u003e69cb755\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 5 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/ea552c2278784e12094c8daea06b18679b2da2c9\"\u003e\u003ccode\u003eea552c2\u003c/code\u003e\u003c/a\u003e Bump the maven group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2898\"\u003e#2898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/fdc616d0da2fea0b28828386a38396eac66d85fd\"\u003e\u003ccode\u003efdc616d\u003c/code\u003e\u003c/a\u003e Set top-level permissions for CodeQL workflow (\u003ca href=\"https://redirect.github.com/google/gson/issues/2889\"\u003e#2889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/9334715a48aaf11c9f80f89f8242ba7d1c2d0c27\"\u003e\u003ccode\u003e9334715\u003c/code\u003e\u003c/a\u003e Create scorecard.yml (\u003ca href=\"https://redirect.github.com/google/gson/issues/2888\"\u003e#2888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/f7de5c2c22dae98f2f98eefcb70c920ff71e437b\"\u003e\u003ccode\u003ef7de5c2\u003c/code\u003e\u003c/a\u003e Bump the maven group with 8 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2885\"\u003e#2885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/8c23cd363daec806d2e9b69665520043914782ac\"\u003e\u003ccode\u003e8c23cd3\u003c/code\u003e\u003c/a\u003e Update sources to satisfy a new Error Prone check. (\u003ca href=\"https://redirect.github.com/google/gson/issues/2887\"\u003e#2887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5eab3eda9fff9db77b82eae621c26f1d7263386f\"\u003e\u003ccode\u003e5eab3ed\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2886\"\u003e#2886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5f5c20026009010608de17a9e5312849230b3b0b\"\u003e\u003ccode\u003e5f5c200\u003c/code\u003e\u003c/a\u003e Bump the maven group across 1 directory with 10 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2872\"\u003e#2872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.1...gson-parent-2.13.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.kohsuke:github-api` from 1.329 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\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.4 to 3.27.6\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.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\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Byte Buddy 1.17.7 \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3947\"\u003e#3947\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to JUnit BOM 5.13.4 \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3947\"\u003e#3947\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Guava 33.4.8-jre \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3947\"\u003e#3947\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/assertj/assertj/commit/716b1e0a6a372890cd4b3495b954f57755e99471\"\u003e\u003ccode\u003e716b1e0\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release assertj-build-3.27.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/e1896529a38377dfb6eaa199ecb33c79b2a58591\"\u003e\u003ccode\u003ee189652\u003c/code\u003e\u003c/a\u003e Add 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\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/0cb489e99980dd384135d06a0967bd3ce712b219\"\u003e\u003ccode\u003e0cb489e\u003c/code\u003e\u003c/a\u003e Update Maven Central URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/72863098a2c7194b1acef0a8ed0f4c564e422c3d\"\u003e\u003ccode\u003e7286309\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/assertj/assertj/commit/dd4cc1de575a224805a1614394046046cf2b4f99\"\u003e\u003ccode\u003edd4cc1d\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release assertj-build-3.27.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/1d0defc0dbabfe3cc12b34173dd88933cbc61fcb\"\u003e\u003ccode\u003e1d0defc\u003c/code\u003e\u003c/a\u003e Add missing permission to release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/844d5d04af570d6772478d0309576cdd4c3a5c6d\"\u003e\u003ccode\u003e844d5d0\u003c/code\u003e\u003c/a\u003e Add missing GitHub Actions pinning to CodeQL workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/bdd7106814be9cf71e4ceb77e0db399aa1f79b5b\"\u003e\u003ccode\u003ebdd7106\u003c/code\u003e\u003c/a\u003e Add CodeQL custom workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/a93d7e632ae17d916c6a9da867571054a4b53e75\"\u003e\u003ccode\u003ea93d7e6\u003c/code\u003e\u003c/a\u003e Remove EOL Java 24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/26ea866a2a9bece0f6f660f61b0483eaaabf27dc\"\u003e\u003ccode\u003e26ea866\u003c/code\u003e\u003c/a\u003e Update production dependencies (\u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3947\"\u003e#3947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/assertj/assertj/compare/assertj-build-3.27.4...assertj-build-3.27.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.mockito:mockito-core` from 5.19.0 to 5.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mockito/mockito/releases\"\u003eorg.mockito:mockito-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.20.0\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003cem\u003eChangelog generated by \u003ca href=\"https://github.com/shipkit/shipkit-changelog\"\u003eShipkit Changelog Gradle Plugin\u003c/a\u003e\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch4\u003e5.20.0\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e2025-09-20 - \u003ca href=\"https://github.com/mockito/mockito/compare/v5.19.0...v5.20.0\"\u003e11 commit(s)\u003c/a\u003e by Adrian-Kim, Giulio Longfils, Rafael Winterhalter, dependabot[bot]\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.4 to 3.27.5 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3730\"\u003e#3730\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3730\"\u003emockito/mockito#3730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIntroducing the Ability to Mock Construction of Generic Types (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/2401\"\u003e#2401\u003c/a\u003e) [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3729\"\u003e#3729\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3729\"\u003emockito/mockito#3729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump com.gradle.develocity from 4.1.1 to 4.2 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3726\"\u003e#3726\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3726\"\u003emockito/mockito#3726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump graalvm/setup-graalvm from 1.3.6 to 1.3.7 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3725\"\u003e#3725\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3725\"\u003emockito/mockito#3725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump org.eclipse.platform:org.eclipse.osgi from 3.23.100 to 3.23.200 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3720\"\u003e#3720\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3720\"\u003emockito/mockito#3720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump graalvm/setup-graalvm from 1.3.5 to 1.3.6 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3719\"\u003e#3719\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3719\"\u003emockito/mockito#3719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/setup-java from 4 to 5 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3715\"\u003e#3715\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3715\"\u003emockito/mockito#3715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump com.gradle.develocity from 4.1 to 4.1.1 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3713\"\u003e#3713\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3713\"\u003emockito/mockito#3713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump bytebuddy from 1.17.6 to 1.17.7 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3712\"\u003e#3712\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3712\"\u003emockito/mockito#3712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: Use Assume.assumeThat for SequencedCollection tests [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3711\"\u003e#3711\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3711\"\u003emockito/mockito#3711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3709\"\u003e#3709\u003c/a\u003e [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3710\"\u003e#3710\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3710\"\u003emockito/mockito#3710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: Add support for JDK21 Sequenced Collections. [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3708\"\u003e#3708\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3708\"\u003emockito/mockito#3708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIntroducing the Ability to Mock Construction of Generic Types [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/2401\"\u003e#2401\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/2401\"\u003emockito/mockito#2401\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/mockito/mockito/commit/3a1a19ee40f1234048880393343405046fc3fa60\"\u003e\u003ccode\u003e3a1a19e\u003c/code\u003e\u003c/a\u003e Add support for generic types in \u003ccode\u003eMockedConstruction\u003c/code\u003e and \u003ccode\u003eMockedStatic\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3729\"\u003e#3729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/f3c957a74e39a78c31b7fd2e48bf9f4c3a13112c\"\u003e\u003ccode\u003ef3c957a\u003c/code\u003e\u003c/a\u003e Bump org.assertj:assertj-core from 3.27.4 to 3.27.5 (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3730\"\u003e#3730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/3cfbd427182ef7c9ae718873ffb85b5ed4f04758\"\u003e\u003ccode\u003e3cfbd42\u003c/code\u003e\u003c/a\u003e Bump graalvm/setup-graalvm from 1.3.6 to 1.3.7 (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3725\"\u003e#3725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/6f9a04bbd7c7894a38b34658456691823866112c\"\u003e\u003ccode\u003e6f9a04b\u003c/code\u003e\u003c/a\u003e Bump com.gradle.develocity from 4.1.1 to 4.2 (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3726\"\u003e#3726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/c75dfb886cbfbed9c0d5d36681a103205a264a8c\"\u003e\u003ccode\u003ec75dfb8\u003c/code\u003e\u003c/a\u003e Bump org.eclipse.platform:org.eclipse.osgi from 3.23.100 to 3.23.200 (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3720\"\u003e#3720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/54474fa1dd9455913181567536ca1d60f00880f5\"\u003e\u003ccode\u003e54474fa\u003c/code\u003e\u003c/a\u003e Bump graalvm/setup-graalvm from 1.3.5 to 1.3.6 (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3719\"\u003e#3719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/bc06f214c0c9505a1887e4422a449c6304993ff5\"\u003e\u003ccode\u003ebc06f21\u003c/code\u003e\u003c/a\u003e Use Assume.assumeThat for SequencedCollection tests (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/a10aed01a455bf1f45bb25dc1bb887fd171cffee\"\u003e\u003ccode\u003ea10aed0\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 4 to 5 (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3715\"\u003e#3715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/37bb3e5062bbedda96dc3810c5e3d4f5c0c644e0\"\u003e\u003ccode\u003e37bb3e5\u003c/code\u003e\u003c/a\u003e Fix metadata generation on GraalVM (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3710\"\u003e#3710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/ef2fd6f8e12df2db9b1c3aef067c33f6fe2aba95\"\u003e\u003ccode\u003eef2fd6f\u003c/code\u003e\u003c/a\u003e Bump com.gradle.develocity from 4.1 to 4.1.1 (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3713\"\u003e#3713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mockito/mockito/compare/v5.19.0...v5.20.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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/gocd-contrib/github-oauth-authorization-plugin/pull/375","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gocd-contrib%2Fgithub-oauth-authorization-plugin/issues/375","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/375/packages"},{"uuid":"2842923286","node_id":"PR_kwDOAK7Vm86pc5EW","number":5311,"state":"closed","title":"build(deps): bump org.kohsuke:github-api from 1.323 to 1.330","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-09-22T07:58:34.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-19T08:01:53.000Z","updated_at":"2025-09-22T07:58:34.000Z","time_to_close":259001,"merged_at":"2025-09-22T07:58:33.000Z","merged_by":"nscuro","closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"org.kohsuke:github-api","old_version":"1.323","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"}],"path":null,"ecosystem":"maven"},"body":"Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.323 to 1.330.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.323...github-api-1.330\"\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=org.kohsuke:github-api\u0026package-manager=maven\u0026previous-version=1.323\u0026new-version=1.330)](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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/DependencyTrack/dependency-track/pull/5311","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DependencyTrack%2Fdependency-track/issues/5311","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5311/packages"},{"uuid":"3406800064","node_id":"PR_kwDOLkCPtM6oDPFh","number":60,"state":"open","title":"build(deps): bump the maven-dependencies group across 1 directory with 44 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-09-11T14:22:05.000Z","updated_at":"2025-09-16T14:24:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven-dependencies","update_count":44,"packages":[{"name":"org.jetbrains.kotlin.android","old_version":"2.1.20","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.1.20","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"plugin.serialization","old_version":"2.1.20","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.mikepenz:aboutlibraries-core","old_version":"12.0.1","new_version":"12.2.4","repository_url":"https://github.com/mikepenz/AboutLibraries"},{"name":"com.mikepenz.aboutlibraries.plugin","old_version":"12.0.1","new_version":"12.2.4"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.11.0"},{"name":"androidx.activity:activity-ktx","old_version":"1.10.1","new_version":"1.11.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.biometric:biometric","old_version":"1.4.0-alpha03","new_version":"1.4.0-alpha04"},{"name":"androidx.browser:browser","old_version":"1.8.0","new_version":"1.9.0"},{"name":"androidx.compose:compose-bom","old_version":"2025.04.01","new_version":"2025.09.00"},{"name":"androidx.core:core-ktx","old_version":"1.16.0","new_version":"1.17.0"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.4","new_version":"1.1.7"},{"name":"androidx.test.espresso:espresso-core","old_version":"3.6.1","new_version":"3.7.0"},{"name":"androidx.fragment:fragment-ktx","old_version":"1.8.6","new_version":"1.8.9"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"androidx.lifecycle:lifecycle-livedata-ktx","old_version":"2.8.7","new_version":"2.9.3"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.8.7","new_version":"2.9.3"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.7","new_version":"2.9.3"},{"name":"androidx.lifecycle:lifecycle-viewmodel-ktx","old_version":"2.8.7","new_version":"2.9.3"},{"name":"androidx.compose.material3:material3","old_version":"1.4.0-alpha13","new_version":"1.5.0-alpha04"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.4.0-alpha13","new_version":"1.5.0-alpha04"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.8.0","new_version":"1.9.1"},{"name":"androidx.compose.ui:ui","old_version":"1.8.0","new_version":"1.9.1"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.8.0","new_version":"1.9.1"},{"name":"androidx.compose.ui:ui-tooling-preview","old_version":"1.8.0","new_version":"1.9.1"},{"name":"androidx.compose.ui:ui-graphics","old_version":"1.8.0","new_version":"1.9.1"},{"name":"io.coil-kt.coil3:coil","old_version":"3.1.0","new_version":"3.3.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-network-okhttp","old_version":"3.1.0","new_version":"3.3.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"org.apache.commons:commons-compress","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/apache/commons-compress"},{"name":"commons-io:commons-io","old_version":"2.19.0","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.google.firebase:firebase-bom","old_version":"33.13.0","new_version":"34.2.0"},{"name":"org.kohsuke:github-api","old_version":"1.327","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.google.gms:google-services","old_version":"4.4.2","new_version":"4.4.3"},{"name":"com.google.code.gson:gson","old_version":"2.13.1","new_version":"2.13.2","repository_url":"https://github.com/google/gson"},{"name":"org.jsoup:jsoup","old_version":"1.19.1","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.tencent.kona:kona-crypto","old_version":"1.0.17","new_version":"1.0.18","repository_url":"https://github.com/Tencent/TencentKonaSMSuite"},{"name":"com.tencent.kona:kona-provider","old_version":"1.0.17","new_version":"1.0.18","repository_url":"https://github.com/Tencent/TencentKonaSMSuite"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.8.1","new_version":"1.9.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"com.google.android.material:material","old_version":"1.13.0-alpha12","new_version":"1.14.0-alpha04","repository_url":"https://github.com/material-components/material-components-android"},{"name":"org.apache.maven:maven-artifact","old_version":"3.9.9","new_version":"3.9.11"},{"name":"com.squareup.okhttp3:okhttp","old_version":"4.12.0","new_version":"5.1.0","repository_url":"https://github.com/square/okhttp"},{"name":"androidx.activity:activity","old_version":"1.10.1","new_version":"1.11.0"},{"name":"com.android.application","old_version":"8.9.2","new_version":"8.13.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven-dependencies group with 44 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.2.20` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.2.20` |\n| [plugin.serialization](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.2.20` |\n| [com.mikepenz:aboutlibraries-core](https://github.com/mikepenz/AboutLibraries) | `12.0.1` | `12.2.4` |\n| com.mikepenz.aboutlibraries.plugin | `12.0.1` | `12.2.4` |\n| androidx.activity:activity-compose | `1.10.1` | `1.11.0` |\n| androidx.activity:activity-ktx | `1.10.1` | `1.11.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.biometric:biometric | `1.4.0-alpha03` | `1.4.0-alpha04` |\n| androidx.browser:browser | `1.8.0` | `1.9.0` |\n| androidx.compose:compose-bom | `2025.04.01` | `2025.09.00` |\n| androidx.core:core-ktx | `1.16.0` | `1.17.0` |\n| androidx.datastore:datastore-preferences | `1.1.4` | `1.1.7` |\n| androidx.test.espresso:espresso-core | `3.6.1` | `3.7.0` |\n| androidx.fragment:fragment-ktx | `1.8.6` | `1.8.9` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| androidx.lifecycle:lifecycle-livedata-ktx | `2.8.7` | `2.9.3` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.8.7` | `2.9.3` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.7` | `2.9.3` |\n| androidx.lifecycle:lifecycle-viewmodel-ktx | `2.8.7` | `2.9.3` |\n| androidx.compose.material3:material3 | `1.4.0-alpha13` | `1.5.0-alpha04` |\n| androidx.compose.material3:material3-window-size-class | `1.4.0-alpha13` | `1.5.0-alpha04` |\n| androidx.compose.runtime:runtime-livedata | `1.8.0` | `1.9.1` |\n| androidx.compose.ui:ui | `1.8.0` | `1.9.1` |\n| androidx.compose.ui:ui-tooling | `1.8.0` | `1.9.1` |\n| androidx.compose.ui:ui-tooling-preview | `1.8.0` | `1.9.1` |\n| androidx.compose.ui:ui-graphics | `1.8.0` | `1.9.1` |\n| [io.coil-kt.coil3:coil](https://github.com/coil-kt/coil) | `3.1.0` | `3.3.0` |\n| [io.coil-kt.coil3:coil-network-okhttp](https://github.com/coil-kt/coil) | `3.1.0` | `3.3.0` |\n| [org.apache.commons:commons-compress](https://github.com/apache/commons-compress) | `1.27.1` | `1.28.0` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.19.0` | `2.20.0` |\n| com.google.firebase:firebase-bom | `33.13.0` | `34.2.0` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.327` | `1.330` |\n| com.google.gms:google-services | `4.4.2` | `4.4.3` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.1` | `2.13.2` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.19.1` | `1.21.2` |\n| [com.tencent.kona:kona-crypto](https://github.com/Tencent/TencentKonaSMSuite) | `1.0.17` | `1.0.18` |\n| [com.tencent.kona:kona-provider](https://github.com/Tencent/TencentKonaSMSuite) | `1.0.17` | `1.0.18` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.8.1` | `1.9.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0-alpha12` | `1.14.0-alpha04` |\n| org.apache.maven:maven-artifact | `3.9.9` | `3.9.11` |\n| [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp) | `4.12.0` | `5.1.0` |\n| androidx.activity:activity | `1.10.1` | `1.11.0` |\n| com.android.application | `8.9.2` | `8.13.0` |\n\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.20 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.1.20 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plugin.serialization` from 2.1.20 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eplugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eplugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.mikepenz:aboutlibraries-core` from 12.0.1 to 12.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mikepenz/AboutLibraries/releases\"\u003ecom.mikepenz:aboutlibraries-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.2.4\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the name nullability to organization. The name is absent in some …\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1205\"\u003e#1205\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/volic\"\u003e\u003ccode\u003e@​volic\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e12.2.3\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003efindLibraries\u003c/code\u003e task\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1199\"\u003e#1199\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e12.2.2\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert changes causing issues with Android builds\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1193\"\u003e#1193\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e12.2.1\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix android task configuration\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1187\"\u003e#1187\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e💬 Other\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor plugin to optimize configuration cache\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1185\"\u003e#1185\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e12.2.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake compose ui modules more flexible | Refine visualization | Compose update\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1172\"\u003e#1172\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/6af7405fb9963a59bd88c465d03011da16bb8cbc\"\u003e\u003ccode\u003e6af7405\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1207\"\u003e#1207\u003c/a\u003e from mikepenz/develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/fb6ca94c0cbc008557913d7a4aedb82942a40bc0\"\u003e\u003ccode\u003efb6ca94\u003c/code\u003e\u003c/a\u003e - [release] v12.2.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/d7ded4de3fa047248ab4241b3e409d52455290ea\"\u003e\u003ccode\u003ed7ded4d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1205\"\u003e#1205\u003c/a\u003e from volic/feature/fix_organization_name_nulability\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/446c016228013e859a1e1167a70464a855456dd1\"\u003e\u003ccode\u003e446c016\u003c/code\u003e\u003c/a\u003e - handle empty org name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/6d9cff7598ac5fce3ac74bff43c2c79bec1047fd\"\u003e\u003ccode\u003e6d9cff7\u003c/code\u003e\u003c/a\u003e - keep the name non null to not break integrations in apps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/c0f5ceafa1942f0625f28f39948ce409122e30ec\"\u003e\u003ccode\u003ec0f5cea\u003c/code\u003e\u003c/a\u003e Add the name nullability to organization. The name is absent in some librarie...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/a95930c10c48140ab352ff3f63225ff6fea97db1\"\u003e\u003ccode\u003ea95930c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1200\"\u003e#1200\u003c/a\u003e from mikepenz/develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/a3d0097a3afbc4455c4b3939938a98e0fec86ff4\"\u003e\u003ccode\u003ea3d0097\u003c/code\u003e\u003c/a\u003e - [release] v12.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/2901d4af1caa1c1da6949fa47a284dd2b17f8a1a\"\u003e\u003ccode\u003e2901d4a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1199\"\u003e#1199\u003c/a\u003e from mikepenz/fix/1197\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/9a62ca57acd2e7ba64bd38c3cfc42fb6c696a131\"\u003e\u003ccode\u003e9a62ca5\u003c/code\u003e\u003c/a\u003e - fix failure due to offline mode being set for tasks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mikepenz/AboutLibraries/compare/12.0.1...12.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.mikepenz.aboutlibraries.plugin` from 12.0.1 to 12.2.4\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.11.0\n\nUpdates `androidx.activity:activity-ktx` from 1.10.1 to 1.11.0\n\nUpdates `androidx.activity:activity-ktx` from 1.10.1 to 1.11.0\n\nUpdates `androidx.appcompat:appcompat` from 1.7.0 to 1.7.1\n\nUpdates `androidx.biometric:biometric` from 1.4.0-alpha03 to 1.4.0-alpha04\n\nUpdates `androidx.browser:browser` from 1.8.0 to 1.9.0\n\nUpdates `androidx.compose:compose-bom` from 2025.04.01 to 2025.09.00\n\nUpdates `androidx.core:core-ktx` from 1.16.0 to 1.17.0\n\nUpdates `androidx.datastore:datastore-preferences` from 1.1.4 to 1.1.7\n\nUpdates `androidx.test.espresso:espresso-core` from 3.6.1 to 3.7.0\n\nUpdates `androidx.fragment:fragment-ktx` from 1.8.6 to 1.8.9\n\nUpdates `androidx.test.ext:junit` from 1.2.1 to 1.3.0\n\nUpdates `androidx.lifecycle:lifecycle-livedata-ktx` from 2.8.7 to 2.9.3\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.7 to 2.9.3\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.8.7 to 2.9.3\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.8.7 to 2.9.3\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.7 to 2.9.3\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.8.7 to 2.9.3\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.8.7 to 2.9.3\n\nUpdates `androidx.compose.material3:material3` from 1.4.0-alpha13 to 1.5.0-alpha04\n\nUpdates `androidx.compose.material3:material3-window-size-class` from 1.4.0-alpha13 to 1.5.0-alpha04\n\nUpdates `androidx.compose.material3:material3-window-size-class` from 1.4.0-alpha13 to 1.5.0-alpha04\n\nUpdates `androidx.compose.runtime:runtime-livedata` from 1.8.0 to 1.9.1\n\nUpdates `androidx.compose.ui:ui` from 1.8.0 to 1.9.1\n\nUpdates `androidx.compose.ui:ui-tooling` from 1.8.0 to 1.9.1\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.8.0 to 1.9.1\n\nUpdates `androidx.compose.ui:ui-graphics` from 1.8.0 to 1.9.1\n\nUpdates `androidx.compose.ui:ui-tooling` from 1.8.0 to 1.9.1\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.8.0 to 1.9.1\n\nUpdates `io.coil-kt.coil3:coil` from 3.1.0 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coil-kt/coil/releases\"\u003eio.coil-kt.coil3:coil's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#330---july-22-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320---may-13-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0-rc02\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320-rc02---april-26-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0-rc01\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320-rc01---april-24-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md\"\u003eio.coil-kt.coil3:coil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.3.0] - July 22, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eNew\u003c/strong\u003e: Introduce a new API to limit \u003ccode\u003eMemoryCache.maxSize\u003c/code\u003e on Android while the app is backgrounded.\n\u003cul\u003e\n\u003cli\u003eIf \u003ccode\u003eImageLoader.Builder.memoryCacheMaxSizePercentWhileInBackground\u003c/code\u003e is set, the \u003ccode\u003eImageLoader\u003c/code\u003e's memory cache will be limited to a percent of its max size while the app is backgrounded. This setting is currently disabled by default.\u003c/li\u003e\n\u003cli\u003eImages will be trimmed from the memory cache to reach the limited max size when the app is backgrounded, however the memory cache's weak references to recently trimmed images are unaffected. This means if an image is currently referenced elsewhere (e.g. \u003ccode\u003eAsyncImage\u003c/code\u003e, \u003ccode\u003eImageView\u003c/code\u003e, etc.) it will still be present in the memory cache.\u003c/li\u003e\n\u003cli\u003eThis API is useful to reduce background memory usage, keep your app from being killed earlier, and help reduce memory pressure on your users' devices.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew\u003c/strong\u003e: Add an \u003ccode\u003eSvg.Parser\u003c/code\u003e argument to \u003ccode\u003eSvgDecoder\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis enables using custom SVG parsers if the default SVG parser doesn't meet your needs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003edensity\u003c/code\u003e argument to \u003ccode\u003eSvgDecoder\u003c/code\u003e to support providing a custom density multiplier.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eUri.Builder\u003c/code\u003e to support copying and modifying \u003ccode\u003eUri\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eImageLoader.Builder.mainCoroutineContext\u003c/code\u003e to support overriding Coil's \u003ccode\u003eDispatchers.main.immediate\u003c/code\u003e usage in tests.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eCrossfadePainter.intrinsicSize\u003c/code\u003e changing when the \u003ccode\u003estart\u003c/code\u003e image is dereferenced at the end of the animation. This aligns with the behaviour of \u003ccode\u003eCrossfadeDrawable\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eImageLoaders.executeBlocking\u003c/code\u003e being inaccessible from Java.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ekotlinx.io\u003c/code\u003e's Okio interop module in \u003ccode\u003ecoil-network-ktor3\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ekotlinx-datetime\u003c/code\u003e to \u003ccode\u003e0.7.1\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis release includes binary incompatible changes that only affect the \u003ccode\u003ecoil-network-cache-control\u003c/code\u003e module. See \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant\"\u003ehere\u003c/a\u003e for more info.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpdate Kotlin to 2.2.0.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.2.\u003c/li\u003e\n\u003cli\u003eUpdate Okio to 3.15.0.\u003c/li\u003e\n\u003cli\u003eUpdate Skiko to 0.9.4.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.0] - May 13, 2025\u003c/h2\u003e\n\u003cp\u003eChanges since \u003ccode\u003e3.1.0\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eImportant\u003c/strong\u003e: \u003ccode\u003ecoil-compose\u003c/code\u003e and \u003ccode\u003ecoil-compose-core\u003c/code\u003e now require Java 11 bytecode due to Compose \u003ccode\u003e1.8.0\u003c/code\u003e requiring it. See \u003ca href=\"https://coil-kt.github.io/coil/faq/#how-do-i-target-java-8-or-java-11\"\u003ehere\u003c/a\u003e for how to enable it.\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003eAsyncImagePreviewHandler\u003c/code\u003e's functional constructor to return \u003ccode\u003eAsyncImagePainter.State.Success\u003c/code\u003e instead of \u003ccode\u003eAsyncImagePainter.State.Loading\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix cancellation in \u003ccode\u003eConstraintsSizeResolver#size()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix warning for missing \u003ccode\u003ePlatformContext\u003c/code\u003e when building with R8.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eFakeImageLoaderEngine\u003c/code\u003e not setting \u003ccode\u003eTransition.Factory.NONE\u003c/code\u003e when the default \u003ccode\u003eFakeImageLoaderEngine\u003c/code\u003e response is returned.\u003c/li\u003e\n\u003cli\u003eRemove experimental annotation from \u003ccode\u003eColorImage\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eParse network headers lazily in \u003ccode\u003eCacheControlCacheStrategy\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003eCircleCropTransformation\u003c/code\u003e and \u003ccode\u003eRoundedCornersTransformation\u003c/code\u003e to share common code.\u003c/li\u003e\n\u003cli\u003eFall back to using \u003ccode\u003eBitmapFactory\u003c/code\u003e internally if \u003ccode\u003eExifOrientationStrategy\u003c/code\u003e is not \u003ccode\u003eRESPECT_PERFORMANCE\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate Kotlin to 2.1.20.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.0.\u003c/li\u003e\n\u003cli\u003eUpdate Okio to 3.11.0.\u003c/li\u003e\n\u003cli\u003eUpdate Skiko to 0.9.4.\u003c/li\u003e\n\u003cli\u003eUpdate Coroutines to 1.10.2.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eaccompanist-drawablepainter\u003c/code\u003e to 0.37.3.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges since \u003ccode\u003e3.2.0-rc02\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFall back to using \u003ccode\u003eBitmapFactory\u003c/code\u003e internally if \u003ccode\u003eExifOrientationStrategy\u003c/code\u003e is not \u003ccode\u003eRESPECT_PERFORMANCE\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.0.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eaccompanist-drawablepainter\u003c/code\u003e to 0.37.3.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.0-rc02] - April 26, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix image requests failing with \u003ccode\u003eClosedByteChannelException\u003c/code\u003e when loading an image with \u003ccode\u003eKtorNetworkFetcherFactory\u003c/code\u003e (Ktor 3) on non-JVM targets.\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/coil-kt/coil/commit/1731511f0c12ef556db7822a91b6ea03fa3f95a1\"\u003e\u003ccode\u003e1731511\u003c/code\u003e\u003c/a\u003e Prepare 3.3.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/c68534cb1f648ef896846f19935de132668ccef8\"\u003e\u003ccode\u003ec68534c\u003c/code\u003e\u003c/a\u003e Fix accidental binary incompatible change in SvgDecoder. (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3089\"\u003e#3089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/732f7a7861f7c948a6ebb60e640b8b4fff5e83c4\"\u003e\u003ccode\u003e732f7a7\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spotless to v7.2.1 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3088\"\u003e#3088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/fbf78975a09ad215e6f1359f376dc0c0a3e06fbd\"\u003e\u003ccode\u003efbf7897\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin poko to v0.19.2 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3087\"\u003e#3087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/ce87117ede532a5e741bbc8f4ae27c44564f5d43\"\u003e\u003ccode\u003ece87117\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spotless to v7.2.0 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/b9b02327d5ce34ce910b08c4a71dfdbbecdca6a4\"\u003e\u003ccode\u003eb9b0232\u003c/code\u003e\u003c/a\u003e Add density function to SvgDecoder. (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3081\"\u003e#3081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/a70985934532f3b16cb086b6d23c70d2a2b24bd8\"\u003e\u003ccode\u003ea709859\u003c/code\u003e\u003c/a\u003e Add a new language (persian) to the translations of README.md (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3082\"\u003e#3082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/b80e2ddf068ad2f4f2b704fc8e7a2e11192a3dbd\"\u003e\u003ccode\u003eb80e2dd\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spotless to v7.1.0 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3079\"\u003e#3079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/0f6965ffeab059ac8d10c615f9af91635218e601\"\u003e\u003ccode\u003e0f6965f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency com.vanniktech:gradle-maven-publish-plugin to v0...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/e507a3f85b6871dbe0e286881ff2cb776b446c6b\"\u003e\u003ccode\u003ee507a3f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency com.android.tools.build:gradle to v8.11.1 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coil-kt/coil/compare/3.1.0...3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.coil-kt.coil3:coil-network-okhttp` from 3.1.0 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coil-kt/coil/releases\"\u003eio.coil-kt.coil3:coil-network-okhttp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#330---july-22-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320---may-13-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0-rc02\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320-rc02---april-26-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0-rc01\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320-rc01---april-24-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md\"\u003eio.coil-kt.coil3:coil-network-okhttp's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.3.0] - July 22, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eNew\u003c/strong\u003e: Introduce a new API to limit \u003ccode\u003eMemoryCache.maxSize\u003c/code\u003e on Android while the app is backgrounded.\n\u003cul\u003e\n\u003cli\u003eIf \u003ccode\u003eImageLoader.Builder.memoryCacheMaxSizePercentWhileInBackground\u003c/code\u003e is set, the \u003ccode\u003eImageLoader\u003c/code\u003e's memory cache will be limited to a percent of its max size while the app is backgrounded. This setting is currently disabled by default.\u003c/li\u003e\n\u003cli\u003eImages will be trimmed from the memory cache to reach the limited max size when the app is backgrounded, however the memory cache's weak references to recently trimmed images are unaffected. This means if an image is currently referenced elsewhere (e.g. \u003ccode\u003eAsyncImage\u003c/code\u003e, \u003ccode\u003eImageView\u003c/code\u003e, etc.) it will still be present in the memory cache.\u003c/li\u003e\n\u003cli\u003eThis API is useful to reduce background memory usage, keep your app from being killed earlier, and help reduce memory pressure on your users' devices.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew\u003c/strong\u003e: Add an \u003ccode\u003eSvg.Parser\u003c/code\u003e argument to \u003ccode\u003eSvgDecoder\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis enables using custom SVG parsers if the default SVG parser doesn't meet your needs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003edensity\u003c/code\u003e argument to \u003ccode\u003eSvgDecoder\u003c/code\u003e to support providing a custom density multiplier.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eUri.Builder\u003c/code\u003e to support copying and modifying \u003ccode\u003eUri\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eImageLoader.Builder.mainCoroutineContext\u003c/code\u003e to support overriding Coil's \u003ccode\u003eDispatchers.main.immediate\u003c/code\u003e usage in tests.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eCrossfadePainter.intrinsicSize\u003c/code\u003e changing when the \u003ccode\u003estart\u003c/code\u003e image is dereferenced at the end of the animation. This aligns with the behaviour of \u003ccode\u003eCrossfadeDrawable\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eImageLoaders.executeBlocking\u003c/code\u003e being inaccessible from Java.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ekotlinx.io\u003c/code\u003e's Okio interop module in \u003ccode\u003ecoil-network-ktor3\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ekotlinx-datetime\u003c/code\u003e to \u003ccode\u003e0.7.1\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis release includes binary incompatible changes that only affect the \u003ccode\u003ecoil-network-cache-control\u003c/code\u003e module. See \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant\"\u003ehere\u003c/a\u003e for more info.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpdate Kotlin to 2.2.0.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.2.\u003c/li\u003e\n\u003cli\u003eUpdate Okio to 3.15.0.\u003c/li\u003e\n\u003cli\u003eUpdate Skiko to 0.9.4.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.0] - May 13, 2025\u003c/h2\u003e\n\u003cp\u003eChanges since \u003ccode\u003e3.1.0\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eImportant\u003c/strong\u003e: \u003ccode\u003ecoil-compose\u003c/code\u003e and \u003ccode\u003ecoil-compose-core\u003c/code\u003e now require Java 11 bytecode due to Compose \u003ccode\u003e1.8.0\u003c/code\u003e requiring it. See \u003ca href=\"https://coil-kt.github.io/coil/faq/#how-do-i-target-java-8-or-java-11\"\u003ehere\u003c/a\u003e for how to enable it.\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003eAsyncImagePreviewHandler\u003c/code\u003e's functional constructor to return \u003ccode\u003eAsyncImagePainter.State.Success\u003c/code\u003e instead of \u003ccode\u003eAsyncImagePainter.State.Loading\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix cancellation in \u003ccode\u003eConstraintsSizeResolver#size()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix warning for missing \u003ccode\u003ePlatformContext\u003c/code\u003e when building with R8.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eFakeImageLoaderEngine\u003c/code\u003e not setting \u003ccode\u003eTransition.Factory.NONE\u003c/code\u003e when the default \u003ccode\u003eFakeImageLoaderEngine\u003c/code\u003e response is returned.\u003c/li\u003e\n\u003cli\u003eRemove experimental annotation from \u003ccode\u003eColorImage\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eParse network headers lazily in \u003ccode\u003eCacheControlCacheStrategy\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003eCircleCropTransformation\u003c/code\u003e and \u003ccode\u003eRoundedCornersTransformation\u003c/code\u003e to share common code.\u003c/li\u003e\n\u003cli\u003eFall back to using \u003ccode\u003eBitmapFactory\u003c/code\u003e internally if \u003ccode\u003eExifOrientationStrategy\u003c/code\u003e is not \u003ccode\u003eRESPECT_PERFORMANCE\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate Kotlin to 2.1.20.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.0.\u003c/li\u003e\n\u003cli\u003eUpdate Okio to 3.11.0.\u003c/li\u003e\n\u003cli\u003eUpdate Skiko to 0.9.4.\u003c/li\u003e\n\u003cli\u003eUpdate Coroutines to 1.10.2.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eaccompanist-drawablepainter\u003c/code\u003e to 0.37.3.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges since \u003ccode\u003e3.2.0-rc02\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFall back to using \u003ccode\u003eBitmapFactory\u003c/code\u003e internally if \u003ccode\u003eExifOrientationStrategy\u003c/code\u003e is not \u003ccode\u003eRESPECT_PERFORMANCE\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.0.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eaccompanist-drawablepainter\u003c/code\u003e to 0.37.3.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.0-rc02] - April 26, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix image requests failing with \u003ccode\u003eClosedByteChannelException\u003c/code\u003e when loading an image with \u003ccode\u003eKtorNetworkFetcherFactory\u003c/code\u003e (Ktor 3) on non-JVM targets.\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/coil-kt/coil/commit/1731511f0c12ef556db7822a91b6ea03fa3f95a1\"\u003e\u003ccode\u003e1731511\u003c/code\u003e\u003c/a\u003e Prepare 3.3.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/c68534cb1f648ef896846f19935de132668ccef8\"\u003e\u003ccode\u003ec68534c\u003c/code\u003e\u003c/a\u003e Fix accidental binary incompatible change in SvgDecoder. (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3089\"\u003e#3089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/732f7a7861f7c948a6ebb60e640b8b4fff5e83c4\"\u003e\u003ccode\u003e732f7a7\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spotless to v7.2.1 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3088\"\u003e#3088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/fbf78975a09ad215e6f1359f376dc0c0a3e06fbd\"\u003e\u003ccode\u003efbf7897\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin poko to v0.19.2 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3087\"\u003e#3087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/ce87117ede532a5e741bbc8f4ae27c44564f5d43\"\u003e\u003ccode\u003ece87117\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spot...\n\n_Description has been truncated_","html_url":"https://github.com/ArcticFoxPro/QQVersionList/pull/60","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArcticFoxPro%2FQQVersionList/issues/60","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/60/packages"},{"uuid":"2811202107","node_id":"PR_kwDOAJOrGc6nj4o7","number":3767,"state":"closed","title":"Bump org.kohsuke:github-api from 1.326 to 1.330","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-09-09T09:35:06.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-09T09:29:03.000Z","updated_at":"2025-09-09T09:35:06.000Z","time_to_close":363,"merged_at":"2025-09-09T09:35:05.000Z","merged_by":"github-actions[bot]","closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.kohsuke:github-api","old_version":"1.326","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"}],"path":null,"ecosystem":"maven"},"body":"Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.326 to 1.330.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.326...github-api-1.330\"\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=org.kohsuke:github-api\u0026package-manager=maven\u0026previous-version=1.326\u0026new-version=1.330)](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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/MorphiaOrg/morphia/pull/3767","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorphiaOrg%2Fmorphia/issues/3767","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3767/packages"},{"uuid":"2809519058","node_id":"PR_kwDOISlGrs6nddvS","number":78,"state":"closed","title":"build(deps): bump org.kohsuke:github-api from 1.329 to 1.330","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-09-10T02:48:28.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-08T20:30:40.000Z","updated_at":"2025-09-10T02:48:28.000Z","time_to_close":109068,"merged_at":"2025-09-10T02:48:28.000Z","merged_by":"itzg","closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"org.kohsuke:github-api","old_version":"1.329","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"}],"path":null,"ecosystem":"maven"},"body":"Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.329 to 1.330.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\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=org.kohsuke:github-api\u0026package-manager=gradle\u0026previous-version=1.329\u0026new-version=1.330)](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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/itzg/github-releaser-gradle-plugin/pull/78","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/itzg%2Fgithub-releaser-gradle-plugin/issues/78","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/78/packages"}],"issue_packages":[{"old_version":"1.329","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2026-02-01T10:31:26.000Z","version_change":"1.329 → 1.330","issue":{"uuid":"3881773366","node_id":"PR_kwDOLCkU8c7As6DV","number":151,"state":"closed","title":"build(deps): bump the maven-dependencies group across 1 directory with 38 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-01T10:26:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-01T10:31:26.000Z","updated_at":"2026-03-01T10:26:17.000Z","time_to_close":2418890,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven-dependencies","update_count":38,"packages":[{"name":"org.jetbrains.kotlin.android","old_version":"2.2.10","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.10","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"plugin.serialization","old_version":"2.2.10","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"gradle-wrapper","old_version":"8.13","new_version":"9.3.1"},{"name":"com.mikepenz:aboutlibraries-core","old_version":"12.2.4","new_version":"13.2.1","repository_url":"https://github.com/mikepenz/AboutLibraries"},{"name":"com.mikepenz.aboutlibraries.plugin","old_version":"12.2.4","new_version":"13.2.1"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.12.3"},{"name":"androidx.activity:activity-ktx","old_version":"1.10.1","new_version":"1.12.3"},{"name":"androidx.biometric:biometric","old_version":"1.4.0-alpha04","new_version":"1.4.0-alpha05"},{"name":"androidx.compose:compose-bom","old_version":"2025.08.01","new_version":"2026.01.01"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.7","new_version":"1.2.0"},{"name":"androidx.lifecycle:lifecycle-livedata-ktx","old_version":"2.9.3","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.3","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.3","new_version":"2.10.0"},{"name":"androidx.lifecycle:lifecycle-viewmodel-ktx","old_version":"2.9.3","new_version":"2.10.0"},{"name":"androidx.compose.material3:material3","old_version":"1.5.0-alpha03","new_version":"1.5.0-alpha13"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.5.0-alpha03","new_version":"1.5.0-alpha13"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.9.0","new_version":"1.10.2"},{"name":"androidx.compose.ui:ui","old_version":"1.9.0","new_version":"1.10.2"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.9.0","new_version":"1.10.2"},{"name":"androidx.compose.ui:ui-tooling-preview","old_version":"1.9.0","new_version":"1.10.2"},{"name":"androidx.compose.ui:ui-graphics","old_version":"1.9.0","new_version":"1.10.2"},{"name":"org.apache.commons:commons-compress","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/apache/commons-compress"},{"name":"commons-io:commons-io","old_version":"2.20.0","new_version":"2.21.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.google.firebase:firebase-bom","old_version":"34.2.0","new_version":"34.8.0"},{"name":"org.kohsuke:github-api","old_version":"1.329","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.google.gms:google-services","old_version":"4.4.3","new_version":"4.4.4"},{"name":"com.google.code.gson:gson","old_version":"2.13.1","new_version":"2.13.2","repository_url":"https://github.com/google/gson"},{"name":"org.jsoup:jsoup","old_version":"1.21.2","new_version":"1.22.1","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.tencent.kona:kona-crypto","old_version":"1.0.18","new_version":"1.0.19","repository_url":"https://github.com/Tencent/TencentKonaSMSuite"},{"name":"com.tencent.kona:kona-provider","old_version":"1.0.18","new_version":"1.0.19","repository_url":"https://github.com/Tencent/TencentKonaSMSuite"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.9.0","new_version":"1.10.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"com.google.android.material:material","old_version":"1.14.0-alpha04","new_version":"1.14.0-alpha09","repository_url":"https://github.com/material-components/material-components-android"},{"name":"org.apache.maven:maven-artifact","old_version":"3.9.11","new_version":"3.9.12"},{"name":"com.squareup.okhttp3:okhttp","old_version":"5.1.0","new_version":"5.3.2","repository_url":"https://github.com/square/okhttp"},{"name":"com.airbnb.android:paris","old_version":"2.0.2","new_version":"2.2.1","repository_url":"https://github.com/airbnb/paris"},{"name":"androidx.activity:activity","old_version":"1.10.1","new_version":"1.12.3"},{"name":"com.android.application","old_version":"8.12.2","new_version":"9.0.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven-dependencies group with 38 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.10` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.10` | `2.3.0` |\n| [plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.10` | `2.3.0` |\n| gradle-wrapper | `8.13` | `9.3.1` |\n| [com.mikepenz:aboutlibraries-core](https://github.com/mikepenz/AboutLibraries) | `12.2.4` | `13.2.1` |\n| com.mikepenz.aboutlibraries.plugin | `12.2.4` | `13.2.1` |\n| androidx.activity:activity-compose | `1.10.1` | `1.12.3` |\n| androidx.activity:activity-ktx | `1.10.1` | `1.12.3` |\n| androidx.biometric:biometric | `1.4.0-alpha04` | `1.4.0-alpha05` |\n| androidx.compose:compose-bom | `2025.08.01` | `2026.01.01` |\n| androidx.datastore:datastore-preferences | `1.1.7` | `1.2.0` |\n| androidx.lifecycle:lifecycle-livedata-ktx | `2.9.3` | `2.10.0` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.3` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.3` | `2.10.0` |\n| androidx.lifecycle:lifecycle-viewmodel-ktx | `2.9.3` | `2.10.0` |\n| androidx.compose.material3:material3 | `1.5.0-alpha03` | `1.5.0-alpha13` |\n| androidx.compose.material3:material3-window-size-class | `1.5.0-alpha03` | `1.5.0-alpha13` |\n| androidx.compose.runtime:runtime-livedata | `1.9.0` | `1.10.2` |\n| androidx.compose.ui:ui | `1.9.0` | `1.10.2` |\n| androidx.compose.ui:ui-tooling | `1.9.0` | `1.10.2` |\n| androidx.compose.ui:ui-tooling-preview | `1.9.0` | `1.10.2` |\n| androidx.compose.ui:ui-graphics | `1.9.0` | `1.10.2` |\n| [org.apache.commons:commons-compress](https://github.com/apache/commons-compress) | `1.27.1` | `1.28.0` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.20.0` | `2.21.0` |\n| com.google.firebase:firebase-bom | `34.2.0` | `34.8.0` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.329` | `1.330` |\n| com.google.gms:google-services | `4.4.3` | `4.4.4` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.1` | `2.13.2` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.21.2` | `1.22.1` |\n| [com.tencent.kona:kona-crypto](https://github.com/Tencent/TencentKonaSMSuite) | `1.0.18` | `1.0.19` |\n| [com.tencent.kona:kona-provider](https://github.com/Tencent/TencentKonaSMSuite) | `1.0.18` | `1.0.19` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.10.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.14.0-alpha04` | `1.14.0-alpha09` |\n| org.apache.maven:maven-artifact | `3.9.11` | `3.9.12` |\n| [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp) | `5.1.0` | `5.3.2` |\n| [com.airbnb.android:paris](https://github.com/airbnb/paris) | `2.0.2` | `2.2.1` |\n| androidx.activity:activity | `1.10.1` | `1.12.3` |\n| com.android.application | `8.12.2` | `9.0.0` |\n\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plugin.serialization` from 2.2.10 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eplugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eplugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 8.13 to 9.3.1\n\nUpdates `com.mikepenz:aboutlibraries-core` from 12.2.4 to 13.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mikepenz/AboutLibraries/releases\"\u003ecom.mikepenz:aboutlibraries-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e13.2.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\u003cbr /\u003e\nRe-publish of 13.2.0 due to a sonatype central API issue\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026gt; Failed to check deployment status for f4a5b999-79b5-4bdf-83a8-e758ed898a66 code: 502 msg: \u0026lt;html\u0026gt;\nFor more on this, please refer to https://docs.gradle.org/9.1.0/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.\n  \u0026lt;head\u0026gt;\u0026lt;title\u0026gt;502 Bad Gateway\u0026lt;/title\u0026gt;\u0026lt;/head\u0026gt;\n  \u0026lt;body\u0026gt;\n  \u0026lt;center\u0026gt;\u0026lt;h1\u0026gt;502 Bad Gateway\u0026lt;/h1\u0026gt;\u0026lt;/center\u0026gt;\n  \u0026lt;/body\u0026gt;\n  \u0026lt;/html\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e13.2.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCompose 1.10.0 | Kotlin 2.3.0\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1273\"\u003e#1273\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate forced offline mode in \u003ccode\u003eAboutLibrariesIdTask\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1272\"\u003e#1272\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e💬 Other\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/upload-artifact from 4 to 5\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1251\"\u003e#1251\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump mikepenz/release-changelog-builder-action from 5 to 6\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1252\"\u003e#1252\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 5 to 6\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1258\"\u003e#1258\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 5 to 6\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1269\"\u003e#1269\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump actions/cache from 4 to 5\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1268\"\u003e#1268\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/smelfungus\"\u003e\u003ccode\u003e@​smelfungus\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Goooler\"\u003e\u003ccode\u003e@​Goooler\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e13.1.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\u003cbr /\u003e\nv13.1.0 introduces a slight behavior change of the plugin, enabling merging of duplicated libraries with an exact match.\nPlease refer to the \u003ca href=\"https://github.com/mikepenz/AboutLibraries/blob/develop/MIGRATION.md\"\u003eMIGRATION GUIDE\u003c/a\u003e for more information on how to migrate from a previous version.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOffer configuration to include test variants in generated metadata\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/mikepenz/AboutLibraries/commit/2bf7fd02d9a87c790d84b45fc36bc8600390fb18\"\u003e\u003ccode\u003e2bf7fd0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1275\"\u003e#1275\u003c/a\u003e from mikepenz/develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/4c0a8e468525bf61b0861a430c770e1be1d53ad6\"\u003e\u003ccode\u003e4c0a8e4\u003c/code\u003e\u003c/a\u003e - [release] v13.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/e1957e59fdef04afd3788762afda3842a96a58f6\"\u003e\u003ccode\u003ee1957e5\u003c/code\u003e\u003c/a\u003e - update to new version-catalog, with convention plugin which won't validate ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/09af193c950d166274aa38a6defe64e8bc62b0e5\"\u003e\u003ccode\u003e09af193\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1274\"\u003e#1274\u003c/a\u003e from mikepenz/develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/3afe40c0b89dad95be8abc08cedee82450518071\"\u003e\u003ccode\u003e3afe40c\u003c/code\u003e\u003c/a\u003e - [release] v13.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/48087e089610131407d7636d9461a086f79593a0\"\u003e\u003ccode\u003e48087e0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1273\"\u003e#1273\u003c/a\u003e from mikepenz/feature/compose_1.10.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/556a3f556cfaee975be7dd4edb3aaf61e32f4d1f\"\u003e\u003ccode\u003e556a3f5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1272\"\u003e#1272\u003c/a\u003e from mikepenz/fix/1270\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/105677b11cb8e9b8cbbea14894aead8d4d965ca4\"\u003e\u003ccode\u003e105677b\u003c/code\u003e\u003c/a\u003e Upgrade to Compose 1.10.0, Kotlin 2.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/4f4245342e68a1e539ab5f4ad1fe9cbb9d13c5e2\"\u003e\u003ccode\u003e4f42453\u003c/code\u003e\u003c/a\u003e Update forced offline mode in \u003ccode\u003eAboutLibrariesIdTask\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/d805da0bd840959fa15d26579f2c147ed8c76568\"\u003e\u003ccode\u003ed805da0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1268\"\u003e#1268\u003c/a\u003e from mikepenz/dependabot/github_actions/actions/cache-5\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mikepenz/AboutLibraries/compare/12.2.4...13.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.mikepenz.aboutlibraries.plugin` from 12.2.4 to 13.2.1\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.12.3\n\nUpdates `androidx.activity:activity-ktx` from 1.10.1 to 1.12.3\n\nUpdates `androidx.activity:activity-ktx` from 1.10.1 to 1.12.3\n\nUpdates `androidx.biometric:biometric` from 1.4.0-alpha04 to 1.4.0-alpha05\n\nUpdates `androidx.compose:compose-bom` from 2025.08.01 to 2026.01.01\n\nUpdates `androidx.datastore:datastore-preferences` from 1.1.7 to 1.2.0\n\nUpdates `androidx.lifecycle:lifecycle-livedata-ktx` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.3 to 2.10.0\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.9.3 to 2.10.0\n\nUpdates `androidx.compose.material3:material3` from 1.5.0-alpha03 to 1.5.0-alpha13\n\nUpdates `androidx.compose.material3:material3-window-size-class` from 1.5.0-alpha03 to 1.5.0-alpha13\n\nUpdates `androidx.compose.material3:material3-window-size-class` from 1.5.0-alpha03 to 1.5.0-alpha13\n\nUpdates `androidx.compose.runtime:runtime-livedata` from 1.9.0 to 1.10.2\n\nUpdates `androidx.compose.ui:ui` from 1.9.0 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-tooling` from 1.9.0 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.9.0 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-graphics` from 1.9.0 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-tooling` from 1.9.0 to 1.10.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.9.0 to 1.10.2\n\nUpdates `org.apache.commons:commons-compress` from 1.27.1 to 1.28.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-compress/blob/master/RELEASE-NOTES.txt\"\u003eorg.apache.commons:commons-compress's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons Compress 1.28.0 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons Compress team is pleased to announce the release of Apache Commons Compress 1.28.0.\u003c/p\u003e\n\u003cp\u003eApache Commons Compress defines an API for working with\ncompression and archive formats. These include bzip2, gzip, pack200,\nLZMA, XZ, Snappy, traditional Unix Compress, DEFLATE, DEFLATE64, LZ4,\nBrotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003cp\u003eThis release updates Apache Commons Lang to 3.18.0 to pick up the fix for CVE-2025-48924 (\u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2025-48924\"\u003ehttps://nvd.nist.gov/vuln/detail/CVE-2025-48924\u003c/a\u003e), but is not affected by it.\u003c/p\u003e\n\u003ch2\u003eChanges in this version\u003c/h2\u003e\n\u003cp\u003eChanges in this version include the following.\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipParameters.getModificationInstant(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipParameters.setModificationInstant(Instant). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipParameters.OS, setOS(OS), getOS(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipParameters.toString(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCOMPRESS-638:  Add GzipParameters.setFileNameCharset(Charset) and getFileNameCharset() to override the default ISO-8859-1 Charset \u003ca href=\"https://redirect.github.com/apache/commons-compress/issues/602\"\u003e#602\u003c/a\u003e. Thanks to vincexjl, Gary Gregory, Piotr P. Karwasz.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add support for gzip extra subfields, see GzipParameters.setExtra(HeaderExtraField) [#604](https://github.com/apache/commons-compress/issues/604). Thanks to ddeschenes-1, Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add CompressFilterOutputStream and refactor to use. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add ZipFile.stream(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       GzipCompressorInputStream reads the modification time (MTIME) and stores its value incorrectly multiplied by 1,000. Thanks to Danny Deschenes, Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       GzipCompressorInputStream writes the modification time (MTIME) the value incorrectly divided by 1,000. Thanks to Danny Deschenes, Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add optional FHCRC to GZIP header [#627](https://github.com/apache/commons-compress/issues/627). Thanks to Danny Deschenes, Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipCompressorInputStream.Builder allowing to customize the file name and comment Charsets. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipCompressorInputStream.Builder.setOnMemberStart(IOConsumer) to monitor member parsing. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipCompressorInputStream.Builder.setOnMemberEnd(IOConsumer) to monitor member parsing. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add PMD check to default Maven goal. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add SevenZFile.Builder.setMaxMemoryLimitKiB(int). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add MemoryLimitException.MemoryLimitException(long, int, Throwable) and deprecate MemoryLimitException.MemoryLimitException(long, int, Exception). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCOMPRESS-692:  Add support for zstd compression in zip archives. Thanks to Mehmet Karaman, Andrey Loskutov, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add support for XZ compression in ZIP archives. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCOMPRESS-695:  Add ZipArchiveInputStream.createZstdInputStream(InputStream) to provide a different InputStream implementation for Zstandard (Zstd) \u003ca href=\"https://redirect.github.com/apache/commons-compress/issues/649\"\u003e#649\u003c/a\u003e. Thanks to Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.harmony.pack200.Pack200Exception.Pack200Exception(String, Throwable). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCOMPRESS-697:  Move BitStream.nextBit() method to BitInputStream \u003ca href=\"https://redirect.github.com/apache/commons-compress/issues/663\"\u003e#663\u003c/a\u003e. Thanks to Fredrik Kjellberg, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.lzma.LZMACompressorInputStream.builder/Builder(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.lzma.LZMACompressorOutputStream.builder/Builder(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.xz.XZCompressorInputStream.builder/Builder(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.xz.XZCompressorOutputStream.builder/Builder(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.xz.ZstdCompressorOutputStream.builder/Builder() [#666](https://github.com/apache/commons-compress/issues/666). Thanks to Gary Gregory, David Walluck, Piotr P. Karwasz. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.xz.ZstdConstants [#666](https://github.com/apache/commons-compress/issues/666). Thanks to Gary Gregory, David Walluck, Piotr P. Karwasz. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/852d9c23b94127feafc1649d9c7f13d4df338845\"\u003e\u003ccode\u003e852d9c2\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.28.0 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/f5eb9e28edf8a661ac5efc43b7853ee49bb73b3a\"\u003e\u003ccode\u003ef5eb9e2\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/36f204caa6f7bb2c92a9ad04ba246ad47a2465d2\"\u003e\u003ccode\u003e36f204c\u003c/code\u003e\u003c/a\u003e Camel case parameter name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/4c04e4a803831c00663a6dafd0f0837fba60633b\"\u003e\u003ccode\u003e4c04e4a\u003c/code\u003e\u003c/a\u003e Use final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/6cb7da194a9369edfbd65629576203b8af61ba44\"\u003e\u003ccode\u003e6cb7da1\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/563c9d2fa4d2340902284fc044a7398fc15da5fb\"\u003e\u003ccode\u003e563c9d2\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/ce73bd890e50fcb88d362fc8298f31fa90d802aa\"\u003e\u003ccode\u003ece73bd8\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/a464ae94e0f9c59e9bc30be6086d876f9907d0a4\"\u003e\u003ccode\u003ea464ae9\u003c/code\u003e\u003c/a\u003e Better parameter names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/c0b2b84144d923a2bf7caada35e1d9bb5d562e78\"\u003e\u003ccode\u003ec0b2b84\u003c/code\u003e\u003c/a\u003e Add TODO for next major version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/c76bc976703dc0cebfb6d4653061b8ac3524421d\"\u003e\u003ccode\u003ec76bc97\u003c/code\u003e\u003c/a\u003e Use OpenVEX to document that we are not affected by CVE-2025-48924 in\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-compress/compare/rel/commons-compress-1.27.1...rel/commons-compress-1.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commons-io:commons-io` from 2.20.0 to 2.21.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-io/blob/master/RELEASE-NOTES.txt\"\u003ecommons-io:commons-io's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eApache Commons IO 2.22.0 Release Notes\u003c/p\u003e\n\u003cp\u003eThe Apache Commons IO team is pleased to announce the release of Apache Commons IO 2.22.0.\u003c/p\u003e\n\u003ch2\u003eIntroduction\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons IO library contains utility classes, stream implementations, file filters,\nfile comparators, endian transformation classes, and much more.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cp\u003eo          Add and use IOUtils.closeQuietlySuppress(Closeable, Throwable) \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/818\"\u003e#818\u003c/a\u003e. Thanks to Gary Gregory, Piotr P. Karwasz.\u003c/p\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cp\u003eo          Fix Apache RAT plugin console warnings. Thanks to Gary Gregory.\no          ByteArraySeekableByteChannel.position(long) and truncate(long) shouldn't throw an IllegalArgumentException for a new positive position that's too large \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/817\"\u003e#817\u003c/a\u003e. Thanks to Gary Gregory, Piotr P. Karwasz.\no          Fix malformed Javadoc comments. Thanks to Gary Gregory.\no          ReadAheadInputStream.close() doesn't always close its filtered input stream. Thanks to Stanislav Fort, Gary Gregory.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eo          Bump org.apache.commons:commons-parent from 91 to 96 \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/816\"\u003e#816\u003c/a\u003e. Thanks to Gary Gregory, Dependabot.\no          Bump commons-codec:commons-codec from 1.19.0 to 1.20.0 \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/812\"\u003e#812\u003c/a\u003e. Thanks to Gary Gregory, Dependabot.\no          Bump commons.bytebuddy.version from 1.17.8 to 1.18.4 \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/814\"\u003e#814\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/820\"\u003e#820\u003c/a\u003e. Thanks to Gary Gregory, Dependabot.\no          Bump commons-lang3 from 3.19.0 to 3.20.0. Thanks to Gary Gregory, Dependabot.\u003c/p\u003e\n\u003cp\u003eCommons IO 2.7 and up requires Java 8 or above.\nCommons IO 2.6 requires Java 7 or above.\nCommons IO 2.3 through 2.5 requires Java 6 or above.\nCommons IO 2.2 requires Java 5 or above.\nCommons IO 1.4 requires Java 1.3 or above.\u003c/p\u003e\n\u003cp\u003eHistorical list of changes: \u003ca href=\"https://commons.apache.org/proper/commons-io/changes.html\"\u003ehttps://commons.apache.org/proper/commons-io/changes.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFor complete information on Apache Commons IO, including instructions on how to submit bug reports,\npatches, or suggestions for improvement, see the Apache Commons IO website:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://commons.apache.org/proper/commons-io/\"\u003ehttps://commons.apache.org/proper/commons-io/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDownload page: \u003ca href=\"https://commons.apache.org/proper/commons-io/download_io.cgi\"\u003ehttps://commons.apache.org/proper/commons-io/download_io.cgi\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/54073d3b5fdd2985b98a48040ede95eb59c7ee53\"\u003e\u003ccode\u003e54073d3\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 2.21.0 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/f141f09d91368543e4f0754cbd649c484768c55c\"\u003e\u003ccode\u003ef141f09\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/adcf1350152faf4dbd8cf53fb2f2649f25dbe227\"\u003e\u003ccode\u003eadcf135\u003c/code\u003e\u003c/a\u003e Add license header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/0f499d060adbd4b36bbd9f47393a7ea6af8149ff\"\u003e\u003ccode\u003e0f499d0\u003c/code\u003e\u003c/a\u003e Use new oak logo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/34a961c3ed58ed96c73836db154ae50f0c45110f\"\u003e\u003ccode\u003e34a961c\u003c/code\u003e\u003c/a\u003e Use HTTPS in URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/9e511181a03096b77c3a4b9c6077a4ac0b56b510\"\u003e\u003ccode\u003e9e51118\u003c/code\u003e\u003c/a\u003e Use HTTPS in URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/d715865ee705fdb8ed786582bd6bd4ee996b0665\"\u003e\u003ccode\u003ed715865\u003c/code\u003e\u003c/a\u003e Add dependabot email [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/3d6a7e113633e1a33ca254d744c3fcbab61663f3\"\u003e\u003ccode\u003e3d6a7e1\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/ad875d566f273f54094b6b872bf9433be9fd86a7\"\u003e\u003ccode\u003ead875d5\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 4.6.2 to 5.0.0 (\u003ca href=\"https://redirect.github.com/apache/commons-io/issues/810\"\u003e#810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/bc01dee31ec0ff10aa0841ff245b770fa1ecfade\"\u003e\u003ccode\u003ebc01dee\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.30.9 to 4.31.2 (\u003ca href=\"https://redirect.github.com/apache/commons-io/issues/811\"\u003e#811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-io/compare/rel/commons-io-2.20.0...rel/commons-io-2.21.0\"\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-bom` from 34.2.0 to 34.8.0\n\nUpdates `org.kohsuke:github-api` from 1.329 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.gms:google-services` from 4.4.3 to 4.4.4\n\nUpdates `com.google.code.gson:gson` from 2.13.1 to 2.13.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/gson/releases\"\u003ecom.google.code.gson:gson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGson 2.13.2\u003c/h2\u003e\n\u003cp\u003eThe main changes in this release are just newer dependencies.\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/klxiaoniu/QQVersionList/pull/151","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/klxiaoniu%2FQQVersionList/issues/151","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/151/packages"}},{"old_version":"1.327","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2025-12-21T14:01:21.000Z","version_change":"1.327 → 1.330","issue":{"uuid":"3751173886","node_id":"PR_kwDOE3FSEs66ActE","number":276,"state":"open","title":"Bump org.kohsuke:github-api from 1.327 to 1.330","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":"2025-12-21T14:01:21.000Z","updated_at":"2025-12-24T12:58:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.kohsuke:github-api","old_version":"1.327","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"}],"path":null,"ecosystem":"maven"},"body":"Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.327 to 1.330.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.330\"\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=org.kohsuke:github-api\u0026package-manager=gradle\u0026previous-version=1.327\u0026new-version=1.330)](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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/opwvhk/avro-schema-support/pull/276","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/opwvhk%2Favro-schema-support/issues/276","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/276/packages"}},{"old_version":"1.314","new_version":"1.330","update_type":null,"path":"/dataload","pr_created_at":"2025-11-24T04:50:04.000Z","version_change":"1.314 → 1.330","issue":{"uuid":"3657075622","node_id":"PR_kwDOHZZ-5861Gq9d","number":1114,"state":"closed","title":"build(deps)(deps): bump org.kohsuke:github-api from 1.314 to 1.330 in /dataload","user":"dependabot[bot]","labels":["dataload","dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-11-24T09:50:30.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-24T04:50:04.000Z","updated_at":"2025-11-24T09:50:39.000Z","time_to_close":18026,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)(deps)","packages":[{"name":"org.kohsuke:github-api","old_version":"1.314","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"}],"path":"/dataload","ecosystem":"maven"},"body":"Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.314 to 1.330.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.314...github-api-1.330\"\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=org.kohsuke:github-api\u0026package-manager=maven\u0026previous-version=1.314\u0026new-version=1.330)](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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/EBISPOT/ols4/pull/1114","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/EBISPOT%2Fols4/issues/1114","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1114/packages"}},{"old_version":"1.303","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2025-10-13T23:42:15.000Z","version_change":"1.303 → 1.330","issue":{"uuid":"3511812542","node_id":"PR_kwDODf4ejs6tjrPU","number":14,"state":"closed","title":"build(deps): bump the gradle group across 1 directory with 51 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":true,"comments_count":1,"pull_request":true,"closed_at":"2025-10-15T19:25:07.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-13T23:42:15.000Z","updated_at":"2025-10-15T19:25:15.000Z","time_to_close":157372,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":51,"packages":[{"name":"com.google.errorprone:error_prone_core","old_version":"2.36.0","new_version":"2.42.0","repository_url":"https://github.com/google/error-prone"},{"name":"biz.aQute.bnd:biz.aQute.bnd.annotation","old_version":"6.4.1","new_version":"7.1.0","repository_url":"https://github.com/bndtools/bnd"},{"name":"org.jsoup:jsoup","old_version":"1.17.2","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.infradna.tool:bridge-method-annotation","old_version":"1.18","new_version":"1.24","repository_url":"https://github.com/infradna/bridge-method-injector"},{"name":"org.kohsuke:github-api","old_version":"1.303","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.github.spotbugs:spotbugs-annotations","old_version":"3.1.12","new_version":"4.9.6","repository_url":"https://github.com/spotbugs/spotbugs"},{"name":"org.apache.commons:commons-collections4","old_version":"4.4","new_version":"4.5.0"},{"name":"org.apache.commons:commons-csv","old_version":"1.10.0","new_version":"1.14.1","repository_url":"https://github.com/apache/commons-csv"},{"name":"commons-io:commons-io","old_version":"2.16.1","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.fasterxml.jackson:jackson-bom","old_version":"2.19.1","new_version":"2.20.0","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.datanucleus:datanucleus-accessplatform-jdo-rdbms","old_version":"6.0.7","new_version":"6.0.10","repository_url":"https://github.com/datanucleus/datanucleus-accessplatform"},{"name":"org.flywaydb:flyway-core","old_version":"9.22.3","new_version":"11.14.0","repository_url":"https://github.com/flyway/flyway"},{"name":"org.xerial:sqlite-jdbc","old_version":"3.45.3.0","new_version":"3.50.3.0","repository_url":"https://github.com/xerial/sqlite-jdbc"},{"name":"de.sstoehr:har-reader","old_version":"3.1.4","new_version":"4.0.0","repository_url":"https://github.com/sdstoehr/har-reader"},{"name":"io.hektor:hektor-fsm","old_version":"0.0.5","new_version":"0.0.8","repository_url":"https://github.com/sniceio/hektor"},{"name":"com.github.curious-odd-man:rgxgen","old_version":"2.0","new_version":"3.1","repository_url":"https://github.com/curious-odd-man/RgxGen"},{"name":"com.natpryce:snodge","old_version":"2.1.2.2","new_version":"3.7.0.0","repository_url":"https://github.com/npryce/snodge"},{"name":"org.codehaus.groovy:groovy-all","old_version":"3.0.14","new_version":"3.0.25","repository_url":"https://github.com/apache/groovy"},{"name":"io.grpc:grpc-protobuf","old_version":"1.61.1","new_version":"1.76.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"org.jruby:jruby-complete","old_version":"1.7.4","new_version":"9.4.14.0"},{"name":"org.python:jython-standalone","old_version":"2.7.2","new_version":"2.7.4","repository_url":"https://github.com/jython/jython"},{"name":"dev.langchain4j:langchain4j","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-azure-open-ai","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-ollama","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"io.swagger.parser.v3:swagger-parser","old_version":"2.1.34","new_version":"2.1.35","repository_url":"https://github.com/swagger-api/swagger-parser"},{"name":"org.htmlunit:htmlunit-csp","old_version":"4.0.0","new_version":"4.17.0","repository_url":"https://github.com/HtmlUnit/htmlunit-csp"},{"name":"com.google.re2j:re2j","old_version":"1.7","new_version":"1.8","repository_url":"https://github.com/google/re2j"},{"name":"org.xhtmlrenderer:flying-saucer-pdf","old_version":"9.3.1","new_version":"9.13.3","repository_url":"https://github.com/flyingsaucerproject/flyingsaucer"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.2.RELEASE","new_version":"3.1.3.RELEASE"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"2.3.2","new_version":"4.0.6"},{"name":"net.bytebuddy:byte-buddy","old_version":"1.14.13","new_version":"1.17.8","repository_url":"https://github.com/raphw/byte-buddy"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.19.0"},{"name":"org.seleniumhq.selenium:selenium-java","old_version":"4.35.0","new_version":"4.36.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"jakarta.xml.soap:jakarta.xml.soap-api","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/jakartaee/saaj-api"},{"name":"com.sun.xml.messaging.saaj:saaj-impl","old_version":"3.0.0","new_version":"3.0.4"},{"name":"com.predic8:soa-model-core","old_version":"2.0.1","new_version":"2.2.0","repository_url":"https://github.com/membrane/soa-model"},{"name":"io.kaitai:kaitai-struct-runtime","old_version":"0.10","new_version":"0.11","repository_url":"https://github.com/kaitai-io/kaitai_struct_java_runtime"},{"name":"org.slf4j:jcl-over-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:jul-to-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:slf4j-log4j12","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.hamcrest:hamcrest-library","old_version":"2.2","new_version":"3.0","repository_url":"https://github.com/hamcrest/JavaHamcrest"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.10.0","new_version":"5.20.0","repository_url":"https://github.com/mockito/mockito"},{"name":"io.github.bonigarcia:selenium-jupiter","old_version":"5.1.1","new_version":"6.3.1","repository_url":"https://github.com/bonigarcia/selenium-jupiter"},{"name":"io.github.bonigarcia:webdrivermanager","old_version":"5.7.0","new_version":"6.3.2","repository_url":"https://github.com/bonigarcia/webdrivermanager"},{"name":"com.github.weisj:jsvg","old_version":"1.4.0","new_version":"2.0.0","repository_url":"https://github.com/weisJ/jsvg"},{"name":"org.cyclonedx.bom","old_version":"2.2.0","new_version":"3.0.1"},{"name":"com.github.ben-manes.versions","old_version":"0.52.0","new_version":"0.53.0"},{"name":"net.ltgt.errorprone","old_version":"4.1.0","new_version":"4.3.0"},{"name":"io.freefair.lombok","old_version":"8.12.2","new_version":"9.0.0","repository_url":"https://github.com/freefair/gradle-plugins"},{"name":"org.sonarqube","old_version":"4.3.0.3225","new_version":"6.3.1.5724"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 51 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.36.0` | `2.42.0` |\n| [biz.aQute.bnd:biz.aQute.bnd.annotation](https://github.com/bndtools/bnd) | `6.4.1` | `7.1.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.2` | `1.21.2` |\n| [com.infradna.tool:bridge-method-annotation](https://github.com/infradna/bridge-method-injector) | `1.18` | `1.24` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.303` | `1.330` |\n| [com.github.spotbugs:spotbugs-annotations](https://github.com/spotbugs/spotbugs) | `3.1.12` | `4.9.6` |\n| org.apache.commons:commons-collections4 | `4.4` | `4.5.0` |\n| [org.apache.commons:commons-csv](https://github.com/apache/commons-csv) | `1.10.0` | `1.14.1` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.16.1` | `2.20.0` |\n| [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `2.19.1` | `2.20.0` |\n| [org.datanucleus:datanucleus-accessplatform-jdo-rdbms](https://github.com/datanucleus/datanucleus-accessplatform) | `6.0.7` | `6.0.10` |\n| [org.flywaydb:flyway-core](https://github.com/flyway/flyway) | `9.22.3` | `11.14.0` |\n| [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) | `3.45.3.0` | `3.50.3.0` |\n| [de.sstoehr:har-reader](https://github.com/sdstoehr/har-reader) | `3.1.4` | `4.0.0` |\n| [io.hektor:hektor-fsm](https://github.com/sniceio/hektor) | `0.0.5` | `0.0.8` |\n| [com.github.curious-odd-man:rgxgen](https://github.com/curious-odd-man/RgxGen) | `2.0` | `3.1` |\n| [com.natpryce:snodge](https://github.com/npryce/snodge) | `2.1.2.2` | `3.7.0.0` |\n| [org.codehaus.groovy:groovy-all](https://github.com/apache/groovy) | `3.0.14` | `3.0.25` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.61.1` | `1.76.0` |\n| org.jruby:jruby-complete | `1.7.4` | `9.4.14.0` |\n| [org.python:jython-standalone](https://github.com/jython/jython) | `2.7.2` | `2.7.4` |\n| [dev.langchain4j:langchain4j](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-azure-open-ai](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-ollama](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [io.swagger.parser.v3:swagger-parser](https://github.com/swagger-api/swagger-parser) | `2.1.34` | `2.1.35` |\n| [org.htmlunit:htmlunit-csp](https://github.com/HtmlUnit/htmlunit-csp) | `4.0.0` | `4.17.0` |\n| [com.google.re2j:re2j](https://github.com/google/re2j) | `1.7` | `1.8` |\n| [org.xhtmlrenderer:flying-saucer-pdf](https://github.com/flyingsaucerproject/flyingsaucer) | `9.3.1` | `9.13.3` |\n| org.thymeleaf:thymeleaf | `3.1.2.RELEASE` | `3.1.3.RELEASE` |\n| org.glassfish.jaxb:jaxb-runtime | `2.3.2` | `4.0.6` |\n| [net.bytebuddy:byte-buddy](https://github.com/raphw/byte-buddy) | `1.14.13` | `1.17.8` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.19.0` |\n| [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.36.0` |\n| [jakarta.xml.soap:jakarta.xml.soap-api](https://github.com/jakartaee/saaj-api) | `3.0.0` | `3.0.2` |\n| com.sun.xml.messaging.saaj:saaj-impl | `3.0.0` | `3.0.4` |\n| [com.predic8:soa-model-core](https://github.com/membrane/soa-model) | `2.0.1` | `2.2.0` |\n| [io.kaitai:kaitai-struct-runtime](https://github.com/kaitai-io/kaitai_struct_java_runtime) | `0.10` | `0.11` |\n| org.slf4j:jcl-over-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:jul-to-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:slf4j-log4j12 | `1.7.32` | `2.0.17` |\n| [org.hamcrest:hamcrest-library](https://github.com/hamcrest/JavaHamcrest) | `2.2` | `3.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.10.2` | `6.0.0` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.10.0` | `5.20.0` |\n| [io.github.bonigarcia:selenium-jupiter](https://github.com/bonigarcia/selenium-jupiter) | `5.1.1` | `6.3.1` |\n| [io.github.bonigarcia:webdrivermanager](https://github.com/bonigarcia/webdrivermanager) | `5.7.0` | `6.3.2` |\n| [com.github.weisj:jsvg](https://github.com/weisJ/jsvg) | `1.4.0` | `2.0.0` |\n| org.cyclonedx.bom | `2.2.0` | `3.0.1` |\n| com.github.ben-manes.versions | `0.52.0` | `0.53.0` |\n| net.ltgt.errorprone | `4.1.0` | `4.3.0` |\n| [io.freefair.lombok](https://github.com/freefair/gradle-plugins) | `8.12.2` | `9.0.0` |\n| org.sonarqube | `4.3.0.3225` | `6.3.1.5724` |\n\n\nUpdates `com.google.errorprone:error_prone_core` from 2.36.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.42.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExplicitArrayForVarargs\"\u003e\u003ccode\u003eExplicitArrayForVarargs\u003c/code\u003e\u003c/a\u003e: discourage unnecessary explicit construction of an array to provide varargs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/FloggerPerWithoutRateLimit\"\u003e\u003ccode\u003eFloggerPerWithoutRateLimit\u003c/code\u003e\u003c/a\u003e: discourage Flogger's \u003ccode\u003eperUnique\u003c/code\u003e without rate limiting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/StringJoin\"\u003e\u003ccode\u003eStringJoin\u003c/code\u003e\u003c/a\u003e: Ban \u003ccode\u003eString.join(CharSequence)\u003c/code\u003e and \u003ccode\u003eString.join(CharSequence, CharSequence)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThreadBuilderNameWithPlaceholder\"\u003e\u003ccode\u003eThreadBuilderNameWithPlaceholder\u003c/code\u003e\u003c/a\u003e: Do not allow placeholders in \u003ccode\u003eThread.Builder.name(String)\u003c/code\u003e or \u003ccode\u003ename(String, int)\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe return type of \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e has changed. The previous type was \u003ccode\u003eEnumSet\u0026lt;Flags.Flag\u0026gt;\u003c/code\u003e, where \u003ccode\u003eFlags.Flag\u003c/code\u003e is an enum in the javac class \u003ccode\u003eFlags\u003c/code\u003e. A recent JDK change has replaced that enum with a new top-level enum called \u003ccode\u003eFlagsEnum\u003c/code\u003e. It is not possible to change \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e in a way that would be type-safe and compatible with the enums from JDKs both before and after the change. Instead, the method now returns \u003ccode\u003eImmutableSet\u0026lt;String\u0026gt;\u003c/code\u003e, where the strings come from the \u003ccode\u003etoString()\u003c/code\u003e of the enum constants. That means they are \u003ccode\u003e\u0026quot;native\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;abstract\u0026quot;\u003c/code\u003e, etc.\u003c/li\u003e\n\u003cli\u003eFlag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ca href=\"https://errorprone.info/bugpattern/SystemOut\"\u003e\u003ccode\u003eSystemOut\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.41.0...v2.42.0\"\u003ehttps://github.com/google/error-prone/compare/v2.41.0...v2.42.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.41.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/EffectivelyPrivate\"\u003eEffectivelyPrivate\u003c/a\u003e: Detect declarations that have \u003ccode\u003epublic\u003c/code\u003e or \u003ccode\u003eprotected\u003c/code\u003e modifiers, but are effectively private\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip BooleanLiteral findings if the target type is boxed (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5134\"\u003e#5134\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.40.0...v2.41.0\"\u003ehttps://github.com/google/error-prone/compare/v2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.40.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and improvements\u003c/li\u003e\n\u003cli\u003eReleases (including snapshots) have migrated from \u003ca href=\"https://central.sonatype.org/pages/ossrh-eol/#process-to-migrate\"\u003eOSSRH to the Central Publisher Portal\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.39.0...v2.40.0\"\u003ehttps://github.com/google/error-prone/compare/v2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.39.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTemporarily downgrade to Guava 33.4.0 (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5108\"\u003e#5108\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChecks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BooleanLiteral\"\u003e\u003ccode\u003eBooleanLiteral\u003c/code\u003e\u003c/a\u003e: Prefer \u003ccode\u003etrue\u003c/code\u003e to \u003ccode\u003eBoolean.TRUE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExpensiveLenientFormatString\"\u003e\u003ccode\u003eExpensiveLenientFormatString\u003c/code\u003e\u003c/a\u003e: Renamed from \u003ccode\u003ePreconditionsExpensiveString\u003c/code\u003e, detects unnecessary calls to \u003ccode\u003eString.format\u003c/code\u003e in the arguments of lenient formatting methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/UnnecessaryQualifier\"\u003e\u003ccode\u003eUnnecessaryQualifier\u003c/code\u003e\u003c/a\u003e: Detects \u003ccode\u003e@Qualifier\u003c/code\u003e or \u003ccode\u003e@BindingAnnotation\u003c/code\u003e annotations that have no effect, and can be removed\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/4996\"\u003e#4996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5045\"\u003e#5045\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.38.0...v2.39.0\"\u003ehttps://github.com/google/error-prone/compare/v2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.38.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/google/error-prone/commit/52b61801ceacc31be26261a14e4eb95bee68cdd8\"\u003e\u003ccode\u003e52b6180\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/691c64a24ac430fa26a69ff3ae62fdba0346e0df\"\u003e\u003ccode\u003e691c64a\u003c/code\u003e\u003c/a\u003e Flag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ccode\u003eSystemOut\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/0b751cd69ac278d63686a776cd55a067b7bff7ae\"\u003e\u003ccode\u003e0b751cd\u003c/code\u003e\u003c/a\u003e ExpicitArrayForVarargs: flag unnecessary explicit construction of an array to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/982fe208c273cc82e838efbbc9c001b857cd239e\"\u003e\u003ccode\u003e982fe20\u003c/code\u003e\u003c/a\u003e Tweak links to point to newer versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a2df97f0d3842e1d45f26bf085a3a95f273346be\"\u003e\u003ccode\u003ea2df97f\u003c/code\u003e\u003c/a\u003e [StatementSwitchToExpressionSwitch] fix bug where \u003ccode\u003ecase null\u003c/code\u003e can sometimes b...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/e691be588c891d4fc10cb41f019960accd21db2d\"\u003e\u003ccode\u003ee691be5\u003c/code\u003e\u003c/a\u003e Fix (behind a flag) a silly bug in RedundantSetterCall.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/ce1a422f3f92a9a9c6434a9e0e00df5ce9877df2\"\u003e\u003ccode\u003ece1a422\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eDurations.wait()\u003c/code\u003e to \u003ccode\u003eWaitMatchers.waitMethodWithTimeout\u003c/code\u003e (and make them...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da03fea47dd31b1a63932d78f3d91fb383cce8d1\"\u003e\u003ccode\u003eda03fea\u003c/code\u003e\u003c/a\u003e Update MethodCanBeStatic to be able to detect and trigger on Guice \u003ca href=\"https://github.com/Provides\"\u003e\u003ccode\u003e@​Provides\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/83e6582d6333d2e2d5e5f2f279c630d54ae65fae\"\u003e\u003ccode\u003e83e6582\u003c/code\u003e\u003c/a\u003e RedundantSetterCall: note that setFooValue and setFooBytes can be aliases for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/db62c8c27ec5984058788547958f2f7c8d1bee95\"\u003e\u003ccode\u003edb62c8c\u003c/code\u003e\u003c/a\u003e Automated rollback of commit e1b16e24461d90f2b11f8213a68bfccc0426d4f3.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.36.0...v2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `biz.aQute.bnd:biz.aQute.bnd.annotation` from 6.4.1 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/bndtools/bnd/releases\"\u003ebiz.aQute.bnd:biz.aQute.bnd.annotation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBnd/Bndtools 7.1.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.1.0\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBnd/Bndtools 7.0.0\u003c/h2\u003e\n\u003cp\u003eThis is the first release on Java 17.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.0.0\"\u003eRelease Notes\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/bndtools/bnd/commit/47e504d7881ba466703c55a8dca7b0578561582d\"\u003e\u003ccode\u003e47e504d\u003c/code\u003e\u003c/a\u003e Build Release 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/c3ff1490e5a2d72336e28920711ec0d024c4a801\"\u003e\u003ccode\u003ec3ff149\u003c/code\u003e\u003c/a\u003e build: Build release 7.1.0.RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/2fc3187b1be2e04e78e4056b6c2efae406646b5b\"\u003e\u003ccode\u003e2fc3187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6363\"\u003e#6363\u003c/a\u003e from laeubi/process_with_conditional_package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/cd347e1202077e625bbdd5dadc158adb49e504db\"\u003e\u003ccode\u003ecd347e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6365\"\u003e#6365\u003c/a\u003e from bndtools/dependabot/github_actions/ruby/setup-r...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/9aa57efecc7e026646e279307d23ea5edb089e57\"\u003e\u003ccode\u003e9aa57ef\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.201.0 to 1.202.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/ec0fea78a246e66430db06e0e8ad0423ffb59dc2\"\u003e\u003ccode\u003eec0fea7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6361\"\u003e#6361\u003c/a\u003e from bndtools/dependabot/github_actions/github/codeq...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/396262634e86aad490df4b43150f3c903c60973f\"\u003e\u003ccode\u003e3962626\u003c/code\u003e\u003c/a\u003e Add testcase for conditional packages with bnd-process\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/fe9a874b3be6e6c2d86625afa55985d1b89c6199\"\u003e\u003ccode\u003efe9a874\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.27.0 to 3.27.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/e3c95f878d3266b872d5ce3ea81b07e8a99e3f8e\"\u003e\u003ccode\u003ee3c95f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6360\"\u003e#6360\u003c/a\u003e from pkriens/issue/6346-gradle-reference-to-project-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/aac92718e6b5021548ff6782871a1841f041eee5\"\u003e\u003ccode\u003eaac9271\u003c/code\u003e\u003c/a\u003e Added a method to get the Macro references from a Processor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bndtools/bnd/compare/6.4.1...7.1.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.17.2 to 1.21.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup 1.21.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.2\u003c/strong\u003e is out now, adding support for custom \u003ccode\u003eSSLContext\u003c/code\u003e in HTTP/2 connections, and improving consistency in how user data is handled in attributes. It also brings performance gains in DOM manipulation and fragment parsing, and fixes several edge cases in stream parsing, traversal, cloning, and concurrent reads.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ejsoup 1.21.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.1\u003c/strong\u003e is out now, featuring powerful new node selection capabilities that let you target specific DOM nodes like comments and text nodes using CSS selectors, dynamic tag customization through the new TagSet callback system, and improved defense against mutation XSS attacks with simplified attribute escaping. This release also brings HTTP/2 support by default, numerous API improvements for better developer experience, and fixes for several edge-case parsing issues.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; type)\u003c/code\u003e method instead. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull(Object)\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull(T)\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; nodeType)\u003c/code\u003e for direct node selection. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2330\"\u003e#2330\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection.Response#readBody()\u003c/code\u003e over \u003ccode\u003eConnection.Response#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\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\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.21.2 (2025-Aug-25)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.1 (2025-Jun-23)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class type)\u003c/code\u003e method instead. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class nodeType)\u003c/code\u003e for direct node selection. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace).\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection#readBody()\u003c/code\u003e over \u003ccode\u003eConnection#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe contents of a \u003ccode\u003escript\u003c/code\u003e in a \u003ccode\u003esvg\u003c/code\u003e foreign context should be parsed as script data, not text. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2320\"\u003e#2320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTag#isFormSubmittable()\u003c/code\u003e was updating the Tag's options. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2323\"\u003e#2323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML pretty-printer would incorrectly trim whitespace when text followed an inline element in a block element. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2325\"\u003e#2325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom tags with hyphens or other non-letter characters in their names now work correctly as Data or RcData tags. Their closing tags are now tokenized properly. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2332\"\u003e#2332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen cloning an Element, the clone would retain the source's cached child Element list (if any), which could lead to incorrect results when modifying the clone's child elements. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2334\"\u003e#2334\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/b02837b6c77b94799c055f8fa446fb770bfb49f1\"\u003e\u003ccode\u003eb02837b\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.21.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1f0c2070e78b5d171c4e5896930c612c58474608\"\u003e\u003ccode\u003e1f0c207\u003c/code\u003e\u003c/a\u003e v1.21.2 release date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/b0934637750ed6ddd91bf344842c8c5aad1fb70f\"\u003e\u003ccode\u003eb093463\u003c/code\u003e\u003c/a\u003e Use central-publishing-maven-plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/615b9592ffe8e65b4e461f7727081995931154ce\"\u003e\u003ccode\u003e615b959\u003c/code\u003e\u003c/a\u003e Updating sonatype deploy URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/69617205f80df06acf2adb38fd8a19f3724b6845\"\u003e\u003ccode\u003e6961720\u003c/code\u003e\u003c/a\u003e Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2386\"\u003e#2386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/82864b246c0005cc66a50daede3568f930504030\"\u003e\u003ccode\u003e82864b2\u003c/code\u003e\u003c/a\u003e Bump jetty.version from 9.4.57.v20241219 to 9.4.58.v20250814 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2385\"\u003e#2385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/71f963ea3a78746fc2a3ba80b2843254b35c211a\"\u003e\u003ccode\u003e71f963e\u003c/code\u003e\u003c/a\u003e Fix for HTML that breaks the select scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/6b20f6e3d158d1ce3147c4e9306d9b485e083bf4\"\u003e\u003ccode\u003e6b20f6e\u003c/code\u003e\u003c/a\u003e Removed effective recursion closing \u003ccode\u003e\\\u0026lt;/select\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/eb2957a8b3e8c12649c5b83872a238dd74e68dec\"\u003e\u003ccode\u003eeb2957a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2382\"\u003e#2382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/3a9a6c7c8a67d51ebbb598495496e28dcd0c18e1\"\u003e\u003ccode\u003e3a9a6c7\u003c/code\u003e\u003c/a\u003e Fix ProxyTest in CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.17.2...jsoup-1.21.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.infradna.tool:bridge-method-annotation` from 1.18 to 1.24\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/90b05fc5d86b8e9362bbb31ccc37b28abdc67e52\"\u003e\u003ccode\u003e90b05fc\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1e3123cf4feaa612e6aa77ccf1a12cfd61a473a9\"\u003e\u003ccode\u003e1e3123c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/29\"\u003e#29\u003c/a\u003e from basil/asm-9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/c89b1025f3a4808e3d03a8a84b3f4ece06b96bf1\"\u003e\u003ccode\u003ec89b102\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.2 to 9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a60c63572dbb7a1d1aa91b5fbb0866517db88836\"\u003e\u003ccode\u003ea60c635\u003c/code\u003e\u003c/a\u003e Replaced by README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/8a5b5e9c6d5036aa492e43d3552b40cba07e5d8b\"\u003e\u003ccode\u003e8a5b5e9\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/677782c5cd7b3df04755b6f515c184748b019770\"\u003e\u003ccode\u003e677782c\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/jenkinsci/bridge-method-injector/commit/4682998f65e92142b9b3b185c63eb40ea0ed8c07\"\u003e\u003ccode\u003e4682998\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a2c094ff373921db7d71551d8f3fcd868c56e467\"\u003e\u003ccode\u003ea2c094f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/27\"\u003e#27\u003c/a\u003e from basil/asm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/cd1a8efd21354ac75447e338eee3298b7aa2386a\"\u003e\u003ccode\u003ecd1a8ef\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.0 to 9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1567095d18f443e5cbeb4593520f6fc0345b32fb\"\u003e\u003ccode\u003e1567095\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/infradna/bridge-method-injector/compare/bridge-method-injector-parent-1.18...bridge-method-injector-parent-1.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.kohsuke:github-api` from 1.303 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.303...github-api-1.330\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.spotbugs:spotbugs-annotations` from 3.1.12 to 4.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spotbugs/spotbugs/releases\"\u003ecom.github.spotbugs:spotbugs-annotations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.6\u003c/h2\u003e\n\u003cp\u003eSpotBugs 4.9.6\u003c/p\u003e\n\u003ch3\u003eCHANGELOG\u003c/h3\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e method calls (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCHECKSUM\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003efile\u003c/th\u003e\n\u003cth\u003echecksum (sha256)\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003eb4b9373ad6f22ad2547a8274501f87b01e2428c30aabaea3aeec3f9095636e24\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e89687b6e685c9a07f7faf49f29b832fb861884f2160947eb4396498cdbb33cc4\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6.tgz\u003c/td\u003e\n\u003ctd\u003e55aa9b9e3deef0391be285335dcf134d1ce54aae222bba1da757eaa616108957\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6.zip\u003c/td\u003e\n\u003ctd\u003e86fb3f93c4147383f76fe21ab2807956b34cf17108a42a76311efa4977f952cc\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e4c9f8027f6a2313ef22347f4832e5dccc9c58d350d1bd5bff4d5a53f37e1c220\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e075b2eed660c2fe2fb1ad1de028f8fdff5f358e25c1318706b95ab17bb28be44\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations.jar\u003c/td\u003e\n\u003ctd\u003e523d394a6b36174ad0a22f0c1c75b105ccff42869a8b7ce86e7fd339ca6f86ce\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e9b510af8cd3a5c62560fe544b730ebf44cbb109e085fe526add155258612273c\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e91477d93b1fd1bebae35d318427b5238fb458e726478dc1a8ac41ce74838a1e6\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant.jar\u003c/td\u003e\n\u003ctd\u003e22f2fa397e86663adcd4828cc1c91e63aa6cc2bfc56832885b749a86fac5c784\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs.jar\u003c/td\u003e\n\u003ctd\u003e62a0def31899338200fc9013b4db8a8aedfc3536ca7d70d59038b092dfaa6819\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003ebdcef7587312fb9a85d0d292623ea1a779bfe8b9a5e321d73bb8ad92ce79ed0a\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e805d2d124b0d4ea513ee9262d4ad6027c3471d45defd80fd7d20e23425d17df7\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e0076a3bc9602c78d73edb048e625a96ee6a182fa3dd39300aa739af67b954189\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e7d7a7d6944e7199e06384104b163c11145ed60dd567fefd9b788f3ac03770e18\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e656579431db1b2714faeeca3c3d59426e2ffdfdb0725546b4090f993d2413eeb\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e66db286ae1dd056458c1e0303a8e2f81fe95a2c5d2888172a3ed17e993434bf1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e8925836d7d1198ec223c4ff5118fd596278df4157d910eb767f7f312a7df8904\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e59bbb8581ed4bdd212a669d94ec363b6c1d6df9276a608359c66d7f0c1688279\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e0582a99bdc66e24c7e36753014729149189fd27129ec5a2f38a8d67457bc9696\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSpotBugs 4.9.5\u003c/h2\u003e\n\u003ch3\u003eCHANGELOG\u003c/h3\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix for an error when a record method has the \u003ccode\u003e@SuppressFBWarnings\u003c/code\u003e annotation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3622\"\u003e#3622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSF_SWITCH_FALLTHROUGH\u003c/code\u003e false positive when continuing a loop (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCWO_CLOSED_WITHOUT_OPENED\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSF_SWITCH_NO_DEFAULT\u003c/code\u003e false positive fix for switch-arrow (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the issue with BCEL logging \u003ccode\u003eDuplicating value: ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing jakarta support for servlets / pre/post destroy (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3694\"\u003e#3694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'java.nio.file.Path.of' to known types for path traversal checks (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3699\"\u003e#3699\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCleanup\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eS1481: Unused local variables should be removed (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3654\"\u003e#3654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved test libraries to jakarta namespace including switching off jsr305 where possible for jakarta.annotatoin (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3695\"\u003e#3695\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCHECKSUM\u003c/h3\u003e\n\u003cp\u003e| file | checksum (sha256) |\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/spotbugs/spotbugs/blob/master/CHANGELOG.md\"\u003ecom.github.spotbugs:spotbugs-annotations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.6 - 2025-09-16\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e method calls (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.5 - 2025-09-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix for an error when a record method has the \u003ccode\u003e@SuppressFBWarnings\u003c/code\u003e annotation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3622\"\u003e#3622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSF_SWITCH_FALLTHROUGH\u003c/code\u003e false positive when continuing a loop (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCWO_CLOSED_WITHOUT_OPENED\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSF_SWITCH_NO_DEFAULT\u003c/code\u003e false positive fix for switch-arrow (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the issue with BCEL logging \u003ccode\u003eDuplicating value: ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing jakarta support for servlets / pre/post destroy (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3694\"\u003e#3694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'java.nio.file.Path.of' to known types for path traversal checks (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3699\"\u003e#3699\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCleanup\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eS1481: Unused local variables should be removed (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3654\"\u003e#3654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved test libraries to jakarta namespace including switching off jsr305 where possible for jakarta.annotatoin (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3695\"\u003e#3695\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.4 - 2025-08-07\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAnnotationMatcher\u003c/code\u003e can now ignore bugs if annotation is also applied on methods or fields. Previously only annotations on classes were considered.\u003c/li\u003e\n\u003cli\u003eAdd relevant CWE ids to bugs and refer the CWEs in the bug messages (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3354\"\u003e#3354\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eLOCAL_VARIABLE_UNKNOWN\u003c/code\u003e with exact method name for \u003ccode\u003eNP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3485\"\u003e#3485\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWiden main method recognition according to \u003ca href=\"https://openjdk.org/jeps/445\"\u003eJEP 445\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3371\"\u003e#3371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eUS_USELESS_SUPPRESSION_ON_*\u003c/code\u003e on methods, fields, parameters, packages or classes with an \u003ccode\u003e*.Generated\u003c/code\u003e annotation with retention \u0026gt;= class (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3350\"\u003e#3350\u003c/a\u003e)(\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3409\"\u003e#3409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite some member in \u003ccode\u003eResourceValueFrame.java\u003c/code\u003e to Enum (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/2061\"\u003e#2061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore non-interpreted text when looking for \u003ccode\u003eFS_BAD_DATE_FORMAT_FLAG_COMBO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3387\"\u003e#3387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix IllegalArgumentException thrown from \u003ccode\u003eFindNoSideEffectMethods\u003c/code\u003e detector (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3320\"\u003e#3320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eRV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT\u003c/code\u003e when part of a Mockito \u003ccode\u003edoAnswer()\u003c/code\u003e, \u003ccode\u003edoCallRealMethod()\u003c/code\u003e, \u003ccode\u003edoNothing()\u003c/code\u003e, \u003ccode\u003edoThrow()\u003c/code\u003e or \u003ccode\u003edoReturn()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3334\"\u003e#3334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eCT_CONSTRUCTOR_THROW\u003c/code\u003e false positive with public and private constructors in specific order of methods (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3417\"\u003e#3417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e, \u003ccode\u003eAT_NONATOMIC_64BIT_PRIMITIVE\u003c/code\u003e and \u003ccode\u003eAT_STALE_THREAD_WRITE_OF_PRIMITIVE\u003c/code\u003e FP when the relevant code is in private method, which is only called with proper synchronization (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3428\"\u003e#3428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eRV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT\u003c/code\u003e when part of a BDDMockito call (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3441\"\u003e#3441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e when field of a local variable is set. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3459\"\u003e#3459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e FP when there was no compound operation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3363\"\u003e#3363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eNM_FIELD_NAMING_CONVENTION\u003c/code\u003e crash in the TestASM detector (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3489\"\u003e#3489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR\u003c/code\u003e for fields initialized in JUnit 3/4 \u003ccode\u003esetUp()\u003c/code\u003e method. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3169\"\u003e#3169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eUS_USELESS_SUPPRESSION_ON_FIELD\u003c/code\u003e/\u003ccode\u003eUUF_UNUSED_FIELD\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3496\"\u003e#3496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake the osgi manifest of the annotations jar Java 8 compatible  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3498\"\u003e#3498\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3500\"\u003e#3500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextUICommandLine\u003c/code\u003e supports all options encoded in Eclipse preferences file (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3520\"\u003e#3520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnnecessary suppressions fix for records headers (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3471\"\u003e#3471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDead store fix when switch case contains loops  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3530\"\u003e#3530\u003c/a\u003e)  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3449\"\u003e#3449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider PUTFIELD and PUTSTATIC when looking for assertions with side effects (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3463\"\u003e#3463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect cases when equals() unconditionally returns true or false (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3528\"\u003e#3528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report that an Iterator does not throw \u003ccode\u003eNoSuchElementException\u003c/code\u003e when \u003ccode\u003ehasNext()\u003c/code\u003e returns true (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3501\"\u003e#3501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect random value cast to int when stored in temporary variable (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3461\"\u003e#3461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLook for interfaces default methods when searching uncalled private methods (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/1988\"\u003e#1988\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/spotbugs/spotbugs/commit/aa3a737bc82090dd8060524fe3e2498350e7cfd7\"\u003e\u003ccode\u003eaa3a737\u003c/code\u003e\u003c/a\u003e release v4.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/7d37faa40ea11e119272f9ce1fc85428ed3c85b4\"\u003e\u003ccode\u003e7d37faa\u003c/code\u003e\u003c/a\u003e chore(build): Temporarily remove the publish part\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/923f053467d889fdb2dcfbfb95b868458a6e2961\"\u003e\u003ccode\u003e923f053\u003c/code\u003e\u003c/a\u003e chore(docs): Minor syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/d662709773b1c1974f4582de2f278f497ce2b59d\"\u003e\u003ccode\u003ed662709\u003c/code\u003e\u003c/a\u003e chore(build): Rework the bin/hub to gh replacement\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/95470b84584a2652593d8a93c601c0a6d8577733\"\u003e\u003ccode\u003e95470b8\u003c/code\u003e\u003c/a\u003e prepare for next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/71e370669e8798898fe4214b0ec30ccb1d31aafb\"\u003e\u003ccode\u003e71e3706\u003c/code\u003e\u003c/a\u003e release v4.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/68013c09022410cf67a2eb1c2f50164925cbe431\"\u003e\u003ccode\u003e68013c0\u003c/code\u003e\u003c/a\u003e chore(Build): Rename as yaml extensions, use gh, and update conf versions (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/9f0ec1211acac3218e3a733bad55ce2c2337541e\"\u003e\u003ccode\u003e9f0ec12\u003c/code\u003e\u003c/a\u003e chore: Use proper import (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3716\"\u003e#3716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/6f81754c8548c2da9200773ed15e4bb142f18417\"\u003e\u003ccode\u003e6f81754\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin com.gradle.develocity to v4.2 (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3714\"\u003e#3714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/1f1fd68eda09bd93f0ad65611a5d2bfe503f6121\"\u003e\u003ccode\u003e1f1fd68\u003c/code\u003e\u003c/a\u003e Fix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spotbugs/spotbugs/compare/3.1.12...4.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.commons:commons-collections4` from 4.4 to 4.5.0\n\nUpdates `org.apache.commons:commons-csv` from 1.10.0 to 1.14.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-csv/blob/master/RELEASE-NOTES.txt\"\u003eorg.apache.commons:commons-csv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons CSV 1.14.1 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons CSV team is pleased to announce the release of Apache Commons CSV 1.14.1.\u003c/p\u003e\n\u003cp\u003eThis document contains the release notes for the 1.14.1 version of Apache Commons CSV.\nCommons CSV reads and writes files in Comma Separated Value (CSV) format variations.\u003c/p\u003e\n\u003cp\u003eCommons CSV requires at least Java 8.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003cp\u003eChanges in this version include:\u003c/p\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCSV-318:  CSVPrinter.printRecord(Stream) hangs if given a parallel stream. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCSV-318:  CSVPrinter now uses an internal lock instead of synchronized methods. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      org.apache.commons.csv.CSVPrinter.printRecords(ResultSet) now writes one record at a time using a lock. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-parent from 81 to 85 [#542](https://github.com/apache/commons-csv/issues/542). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-io:commons-io from 2.18.0 to 2.20.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump com.opencsv:opencsv from 5.10 to 5.11.2 [#545](https://github.com/apache/commons-csv/issues/545), [#551](https://github.com/apache/commons-csv/issues/551), [#553](https://github.com/apache/commons-csv/issues/553). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 [#556](https://github.com/apache/commons-csv/issues/556). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-codec:commons-codec from 1.18.0 to 1.19.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHistorical list of changes: \u003ca href=\"https://commons.apache.org/proper/commons-csv/changes.html\"\u003ehttps://commons.apache.org/proper/commons-csv/changes.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFor complete information on Apache Commons CSV, including instructions on how to submit bug reports,\npatches, or suggestions for improvement, see the Apache Commons CSV website:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://commons.apache.org/proper/commons-csv/\"\u003ehttps://commons.apache.org/proper/commons-csv/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDownload page: \u003ca href=\"https://commons.apache.org/proper/commons-csv/download_csv.cgi\"\u003ehttps://commons.apache.org/proper/commons-csv/download_csv.cgi\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eHave fun!\n-Apache Commons CSV team\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eApache Commons CSV 1.14.0 Release Notes\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/apache/commons-csv/commit/e14ef86d34211f9d1b9b6040c5f6dbafc93ba907\"\u003e\u003ccode\u003ee14ef86\u003c/code\u003e\u003c/a\u003e Ignore macOS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/d8724bf76a7d6abbb93aad65e316f050f86a256d\"\u003e\u003ccode\u003ed8724bf\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.14.1 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b76971c25af176f901c003b25d6a5f4f6edc87ad\"\u003e\u003ccode\u003eb76971c\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b66814ef248186b7a8316b85e1208c705dba06e3\"\u003e\u003ccode\u003eb66814e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/apache/commons-csv/issues/557\"\u003e#557\u003c/a\u003e from apache/dependabot/github_actions/github/codeql-a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/9c95e92d6aaa4d052a139158a900395646c6652e\"\u003e\u003ccode\u003e9c95e92\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.29.2 to 3.29.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/1fb37163f9fe59aa13c63efd53e71d7a0392be4c\"\u003e\u003ccode\u003e1fb3716\u003c/code\u003e\u003c/a\u003e Bump commons-codec:commons-codec from 1.18.0 to 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/7b72c509f73e05ca2bf2f0945a6a1cb03f87bd39\"\u003e\u003ccode\u003e7b72c50\u003c/code\u003e\u003c/a\u003e Merge some string literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/96583732b6be55d459a5b430c4a3a3bb2126db10\"\u003e\u003ccode\u003e9658373\u003c/code\u003e\u003c/a\u003e Update the GitHub pull request template for AI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/67192a9e0af58bdf49edf4e0d29f50343da82c70\"\u003e\u003ccode\u003e67192a9\u003c/code\u003e\u003c/a\u003e Bump commons-io:comm...\n\n_Description has been truncated_","html_url":"https://github.com/ricekot/zap-extensions/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricekot%2Fzap-extensions/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"}},{"old_version":"1.327","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2025-10-06T14:38:53.000Z","version_change":"1.327 → 1.330","issue":{"uuid":"2890544405","node_id":"PR_kwDOLkCPtM6sSjUV","number":61,"state":"open","title":"build(deps): bump the maven-dependencies group across 1 directory with 45 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-06T14:38:53.000Z","updated_at":"2025-10-06T14:38:54.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven-dependencies","update_count":45,"packages":[{"name":"org.jetbrains.kotlin.android","old_version":"2.1.20","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.1.20","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"plugin.serialization","old_version":"2.1.20","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.mikepenz:aboutlibraries-core","old_version":"12.0.1","new_version":"12.2.4","repository_url":"https://github.com/mikepenz/AboutLibraries"},{"name":"com.mikepenz.aboutlibraries.plugin","old_version":"12.0.1","new_version":"12.2.4"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.11.0"},{"name":"androidx.activity:activity-ktx","old_version":"1.10.1","new_version":"1.11.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.biometric:biometric","old_version":"1.4.0-alpha03","new_version":"1.4.0-alpha04"},{"name":"androidx.browser:browser","old_version":"1.8.0","new_version":"1.9.0"},{"name":"androidx.compose:compose-bom","old_version":"2025.04.01","new_version":"2025.09.01"},{"name":"androidx.core:core-ktx","old_version":"1.16.0","new_version":"1.17.0"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.4","new_version":"1.1.7"},{"name":"androidx.test.espresso:espresso-core","old_version":"3.6.1","new_version":"3.7.0"},{"name":"androidx.fragment:fragment-ktx","old_version":"1.8.6","new_version":"1.8.9"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"androidx.lifecycle:lifecycle-livedata-ktx","old_version":"2.8.7","new_version":"2.9.4"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.8.7","new_version":"2.9.4"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.7","new_version":"2.9.4"},{"name":"androidx.lifecycle:lifecycle-viewmodel-ktx","old_version":"2.8.7","new_version":"2.9.4"},{"name":"androidx.compose.material3:material3","old_version":"1.4.0-alpha13","new_version":"1.5.0-alpha04"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.4.0-alpha13","new_version":"1.5.0-alpha04"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.8.0","new_version":"1.9.2"},{"name":"androidx.compose.ui:ui","old_version":"1.8.0","new_version":"1.9.2"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.8.0","new_version":"1.9.2"},{"name":"androidx.compose.ui:ui-tooling-preview","old_version":"1.8.0","new_version":"1.9.2"},{"name":"androidx.compose.ui:ui-graphics","old_version":"1.8.0","new_version":"1.9.2"},{"name":"io.coil-kt.coil3:coil","old_version":"3.1.0","new_version":"3.3.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-network-okhttp","old_version":"3.1.0","new_version":"3.3.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"org.apache.commons:commons-compress","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/apache/commons-compress"},{"name":"commons-io:commons-io","old_version":"2.19.0","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.google.firebase:firebase-bom","old_version":"33.13.0","new_version":"34.3.0"},{"name":"org.kohsuke:github-api","old_version":"1.327","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.google.gms:google-services","old_version":"4.4.2","new_version":"4.4.3"},{"name":"com.google.code.gson:gson","old_version":"2.13.1","new_version":"2.13.2","repository_url":"https://github.com/google/gson"},{"name":"org.jsoup:jsoup","old_version":"1.19.1","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.tencent.kona:kona-crypto","old_version":"1.0.17","new_version":"1.0.18","repository_url":"https://github.com/Tencent/TencentKonaSMSuite"},{"name":"com.tencent.kona:kona-provider","old_version":"1.0.17","new_version":"1.0.18","repository_url":"https://github.com/Tencent/TencentKonaSMSuite"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.8.1","new_version":"1.9.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"com.google.android.material:material","old_version":"1.13.0-alpha12","new_version":"1.14.0-alpha05","repository_url":"https://github.com/material-components/material-components-android"},{"name":"org.apache.maven:maven-artifact","old_version":"3.9.9","new_version":"3.9.11"},{"name":"com.squareup.okhttp3:okhttp","old_version":"4.12.0","new_version":"5.1.0","repository_url":"https://github.com/square/okhttp"},{"name":"com.airbnb.android:paris","old_version":"2.0.2","new_version":"2.1.0","repository_url":"https://github.com/airbnb/paris"},{"name":"androidx.activity:activity","old_version":"1.10.1","new_version":"1.11.0"},{"name":"com.android.application","old_version":"8.9.2","new_version":"8.13.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven-dependencies group with 45 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.2.20` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.2.20` |\n| [plugin.serialization](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.2.20` |\n| [com.mikepenz:aboutlibraries-core](https://github.com/mikepenz/AboutLibraries) | `12.0.1` | `12.2.4` |\n| com.mikepenz.aboutlibraries.plugin | `12.0.1` | `12.2.4` |\n| androidx.activity:activity-compose | `1.10.1` | `1.11.0` |\n| androidx.activity:activity-ktx | `1.10.1` | `1.11.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.biometric:biometric | `1.4.0-alpha03` | `1.4.0-alpha04` |\n| androidx.browser:browser | `1.8.0` | `1.9.0` |\n| androidx.compose:compose-bom | `2025.04.01` | `2025.09.01` |\n| androidx.core:core-ktx | `1.16.0` | `1.17.0` |\n| androidx.datastore:datastore-preferences | `1.1.4` | `1.1.7` |\n| androidx.test.espresso:espresso-core | `3.6.1` | `3.7.0` |\n| androidx.fragment:fragment-ktx | `1.8.6` | `1.8.9` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| androidx.lifecycle:lifecycle-livedata-ktx | `2.8.7` | `2.9.4` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.8.7` | `2.9.4` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.7` | `2.9.4` |\n| androidx.lifecycle:lifecycle-viewmodel-ktx | `2.8.7` | `2.9.4` |\n| androidx.compose.material3:material3 | `1.4.0-alpha13` | `1.5.0-alpha04` |\n| androidx.compose.material3:material3-window-size-class | `1.4.0-alpha13` | `1.5.0-alpha04` |\n| androidx.compose.runtime:runtime-livedata | `1.8.0` | `1.9.2` |\n| androidx.compose.ui:ui | `1.8.0` | `1.9.2` |\n| androidx.compose.ui:ui-tooling | `1.8.0` | `1.9.2` |\n| androidx.compose.ui:ui-tooling-preview | `1.8.0` | `1.9.2` |\n| androidx.compose.ui:ui-graphics | `1.8.0` | `1.9.2` |\n| [io.coil-kt.coil3:coil](https://github.com/coil-kt/coil) | `3.1.0` | `3.3.0` |\n| [io.coil-kt.coil3:coil-network-okhttp](https://github.com/coil-kt/coil) | `3.1.0` | `3.3.0` |\n| [org.apache.commons:commons-compress](https://github.com/apache/commons-compress) | `1.27.1` | `1.28.0` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.19.0` | `2.20.0` |\n| com.google.firebase:firebase-bom | `33.13.0` | `34.3.0` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.327` | `1.330` |\n| com.google.gms:google-services | `4.4.2` | `4.4.3` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.1` | `2.13.2` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.19.1` | `1.21.2` |\n| [com.tencent.kona:kona-crypto](https://github.com/Tencent/TencentKonaSMSuite) | `1.0.17` | `1.0.18` |\n| [com.tencent.kona:kona-provider](https://github.com/Tencent/TencentKonaSMSuite) | `1.0.17` | `1.0.18` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.8.1` | `1.9.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0-alpha12` | `1.14.0-alpha05` |\n| org.apache.maven:maven-artifact | `3.9.9` | `3.9.11` |\n| [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp) | `4.12.0` | `5.1.0` |\n| [com.airbnb.android:paris](https://github.com/airbnb/paris) | `2.0.2` | `2.1.0` |\n| androidx.activity:activity | `1.10.1` | `1.11.0` |\n| com.android.application | `8.9.2` | `8.13.0` |\n\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.20 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.1.20 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plugin.serialization` from 2.1.20 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eplugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eplugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.mikepenz:aboutlibraries-core` from 12.0.1 to 12.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mikepenz/AboutLibraries/releases\"\u003ecom.mikepenz:aboutlibraries-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.2.4\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the name nullability to organization. The name is absent in some …\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1205\"\u003e#1205\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/volic\"\u003e\u003ccode\u003e@​volic\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e12.2.3\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003efindLibraries\u003c/code\u003e task\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1199\"\u003e#1199\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e12.2.2\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert changes causing issues with Android builds\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1193\"\u003e#1193\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e12.2.1\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix android task configuration\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1187\"\u003e#1187\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e💬 Other\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor plugin to optimize configuration cache\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1185\"\u003e#1185\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e12.2.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake compose ui modules more flexible | Refine visualization | Compose update\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1172\"\u003e#1172\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/6af7405fb9963a59bd88c465d03011da16bb8cbc\"\u003e\u003ccode\u003e6af7405\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1207\"\u003e#1207\u003c/a\u003e from mikepenz/develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/fb6ca94c0cbc008557913d7a4aedb82942a40bc0\"\u003e\u003ccode\u003efb6ca94\u003c/code\u003e\u003c/a\u003e - [release] v12.2.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/d7ded4de3fa047248ab4241b3e409d52455290ea\"\u003e\u003ccode\u003ed7ded4d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1205\"\u003e#1205\u003c/a\u003e from volic/feature/fix_organization_name_nulability\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/446c016228013e859a1e1167a70464a855456dd1\"\u003e\u003ccode\u003e446c016\u003c/code\u003e\u003c/a\u003e - handle empty org name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/6d9cff7598ac5fce3ac74bff43c2c79bec1047fd\"\u003e\u003ccode\u003e6d9cff7\u003c/code\u003e\u003c/a\u003e - keep the name non null to not break integrations in apps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/c0f5ceafa1942f0625f28f39948ce409122e30ec\"\u003e\u003ccode\u003ec0f5cea\u003c/code\u003e\u003c/a\u003e Add the name nullability to organization. The name is absent in some librarie...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/a95930c10c48140ab352ff3f63225ff6fea97db1\"\u003e\u003ccode\u003ea95930c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1200\"\u003e#1200\u003c/a\u003e from mikepenz/develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/a3d0097a3afbc4455c4b3939938a98e0fec86ff4\"\u003e\u003ccode\u003ea3d0097\u003c/code\u003e\u003c/a\u003e - [release] v12.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/2901d4af1caa1c1da6949fa47a284dd2b17f8a1a\"\u003e\u003ccode\u003e2901d4a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1199\"\u003e#1199\u003c/a\u003e from mikepenz/fix/1197\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/9a62ca57acd2e7ba64bd38c3cfc42fb6c696a131\"\u003e\u003ccode\u003e9a62ca5\u003c/code\u003e\u003c/a\u003e - fix failure due to offline mode being set for tasks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mikepenz/AboutLibraries/compare/12.0.1...12.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.mikepenz.aboutlibraries.plugin` from 12.0.1 to 12.2.4\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.11.0\n\nUpdates `androidx.activity:activity-ktx` from 1.10.1 to 1.11.0\n\nUpdates `androidx.activity:activity-ktx` from 1.10.1 to 1.11.0\n\nUpdates `androidx.appcompat:appcompat` from 1.7.0 to 1.7.1\n\nUpdates `androidx.biometric:biometric` from 1.4.0-alpha03 to 1.4.0-alpha04\n\nUpdates `androidx.browser:browser` from 1.8.0 to 1.9.0\n\nUpdates `androidx.compose:compose-bom` from 2025.04.01 to 2025.09.01\n\nUpdates `androidx.core:core-ktx` from 1.16.0 to 1.17.0\n\nUpdates `androidx.datastore:datastore-preferences` from 1.1.4 to 1.1.7\n\nUpdates `androidx.test.espresso:espresso-core` from 3.6.1 to 3.7.0\n\nUpdates `androidx.fragment:fragment-ktx` from 1.8.6 to 1.8.9\n\nUpdates `androidx.test.ext:junit` from 1.2.1 to 1.3.0\n\nUpdates `androidx.lifecycle:lifecycle-livedata-ktx` from 2.8.7 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.7 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.8.7 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.8.7 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.7 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.8.7 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.8.7 to 2.9.4\n\nUpdates `androidx.compose.material3:material3` from 1.4.0-alpha13 to 1.5.0-alpha04\n\nUpdates `androidx.compose.material3:material3-window-size-class` from 1.4.0-alpha13 to 1.5.0-alpha04\n\nUpdates `androidx.compose.material3:material3-window-size-class` from 1.4.0-alpha13 to 1.5.0-alpha04\n\nUpdates `androidx.compose.runtime:runtime-livedata` from 1.8.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui` from 1.8.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-tooling` from 1.8.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.8.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-graphics` from 1.8.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-tooling` from 1.8.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.8.0 to 1.9.2\n\nUpdates `io.coil-kt.coil3:coil` from 3.1.0 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coil-kt/coil/releases\"\u003eio.coil-kt.coil3:coil's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#330---july-22-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320---may-13-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0-rc02\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320-rc02---april-26-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0-rc01\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320-rc01---april-24-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md\"\u003eio.coil-kt.coil3:coil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.3.0] - July 22, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eNew\u003c/strong\u003e: Introduce a new API to limit \u003ccode\u003eMemoryCache.maxSize\u003c/code\u003e on Android while the app is backgrounded.\n\u003cul\u003e\n\u003cli\u003eIf \u003ccode\u003eImageLoader.Builder.memoryCacheMaxSizePercentWhileInBackground\u003c/code\u003e is set, the \u003ccode\u003eImageLoader\u003c/code\u003e's memory cache will be limited to a percent of its max size while the app is backgrounded. This setting is currently disabled by default.\u003c/li\u003e\n\u003cli\u003eImages will be trimmed from the memory cache to reach the limited max size when the app is backgrounded, however the memory cache's weak references to recently trimmed images are unaffected. This means if an image is currently referenced elsewhere (e.g. \u003ccode\u003eAsyncImage\u003c/code\u003e, \u003ccode\u003eImageView\u003c/code\u003e, etc.) it will still be present in the memory cache.\u003c/li\u003e\n\u003cli\u003eThis API is useful to reduce background memory usage, keep your app from being killed earlier, and help reduce memory pressure on your users' devices.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew\u003c/strong\u003e: Add an \u003ccode\u003eSvg.Parser\u003c/code\u003e argument to \u003ccode\u003eSvgDecoder\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis enables using custom SVG parsers if the default SVG parser doesn't meet your needs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003edensity\u003c/code\u003e argument to \u003ccode\u003eSvgDecoder\u003c/code\u003e to support providing a custom density multiplier.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eUri.Builder\u003c/code\u003e to support copying and modifying \u003ccode\u003eUri\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eImageLoader.Builder.mainCoroutineContext\u003c/code\u003e to support overriding Coil's \u003ccode\u003eDispatchers.main.immediate\u003c/code\u003e usage in tests.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eCrossfadePainter.intrinsicSize\u003c/code\u003e changing when the \u003ccode\u003estart\u003c/code\u003e image is dereferenced at the end of the animation. This aligns with the behaviour of \u003ccode\u003eCrossfadeDrawable\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eImageLoaders.executeBlocking\u003c/code\u003e being inaccessible from Java.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ekotlinx.io\u003c/code\u003e's Okio interop module in \u003ccode\u003ecoil-network-ktor3\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ekotlinx-datetime\u003c/code\u003e to \u003ccode\u003e0.7.1\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis release includes binary incompatible changes that only affect the \u003ccode\u003ecoil-network-cache-control\u003c/code\u003e module. See \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant\"\u003ehere\u003c/a\u003e for more info.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpdate Kotlin to 2.2.0.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.2.\u003c/li\u003e\n\u003cli\u003eUpdate Okio to 3.15.0.\u003c/li\u003e\n\u003cli\u003eUpdate Skiko to 0.9.4.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.0] - May 13, 2025\u003c/h2\u003e\n\u003cp\u003eChanges since \u003ccode\u003e3.1.0\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eImportant\u003c/strong\u003e: \u003ccode\u003ecoil-compose\u003c/code\u003e and \u003ccode\u003ecoil-compose-core\u003c/code\u003e now require Java 11 bytecode due to Compose \u003ccode\u003e1.8.0\u003c/code\u003e requiring it. See \u003ca href=\"https://coil-kt.github.io/coil/faq/#how-do-i-target-java-8-or-java-11\"\u003ehere\u003c/a\u003e for how to enable it.\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003eAsyncImagePreviewHandler\u003c/code\u003e's functional constructor to return \u003ccode\u003eAsyncImagePainter.State.Success\u003c/code\u003e instead of \u003ccode\u003eAsyncImagePainter.State.Loading\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix cancellation in \u003ccode\u003eConstraintsSizeResolver#size()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix warning for missing \u003ccode\u003ePlatformContext\u003c/code\u003e when building with R8.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eFakeImageLoaderEngine\u003c/code\u003e not setting \u003ccode\u003eTransition.Factory.NONE\u003c/code\u003e when the default \u003ccode\u003eFakeImageLoaderEngine\u003c/code\u003e response is returned.\u003c/li\u003e\n\u003cli\u003eRemove experimental annotation from \u003ccode\u003eColorImage\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eParse network headers lazily in \u003ccode\u003eCacheControlCacheStrategy\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003eCircleCropTransformation\u003c/code\u003e and \u003ccode\u003eRoundedCornersTransformation\u003c/code\u003e to share common code.\u003c/li\u003e\n\u003cli\u003eFall back to using \u003ccode\u003eBitmapFactory\u003c/code\u003e internally if \u003ccode\u003eExifOrientationStrategy\u003c/code\u003e is not \u003ccode\u003eRESPECT_PERFORMANCE\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate Kotlin to 2.1.20.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.0.\u003c/li\u003e\n\u003cli\u003eUpdate Okio to 3.11.0.\u003c/li\u003e\n\u003cli\u003eUpdate Skiko to 0.9.4.\u003c/li\u003e\n\u003cli\u003eUpdate Coroutines to 1.10.2.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eaccompanist-drawablepainter\u003c/code\u003e to 0.37.3.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges since \u003ccode\u003e3.2.0-rc02\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFall back to using \u003ccode\u003eBitmapFactory\u003c/code\u003e internally if \u003ccode\u003eExifOrientationStrategy\u003c/code\u003e is not \u003ccode\u003eRESPECT_PERFORMANCE\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.0.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eaccompanist-drawablepainter\u003c/code\u003e to 0.37.3.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.0-rc02] - April 26, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix image requests failing with \u003ccode\u003eClosedByteChannelException\u003c/code\u003e when loading an image with \u003ccode\u003eKtorNetworkFetcherFactory\u003c/code\u003e (Ktor 3) on non-JVM targets.\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/coil-kt/coil/commit/1731511f0c12ef556db7822a91b6ea03fa3f95a1\"\u003e\u003ccode\u003e1731511\u003c/code\u003e\u003c/a\u003e Prepare 3.3.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/c68534cb1f648ef896846f19935de132668ccef8\"\u003e\u003ccode\u003ec68534c\u003c/code\u003e\u003c/a\u003e Fix accidental binary incompatible change in SvgDecoder. (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3089\"\u003e#3089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/732f7a7861f7c948a6ebb60e640b8b4fff5e83c4\"\u003e\u003ccode\u003e732f7a7\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spotless to v7.2.1 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3088\"\u003e#3088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/fbf78975a09ad215e6f1359f376dc0c0a3e06fbd\"\u003e\u003ccode\u003efbf7897\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin poko to v0.19.2 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3087\"\u003e#3087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/ce87117ede532a5e741bbc8f4ae27c44564f5d43\"\u003e\u003ccode\u003ece87117\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spotless to v7.2.0 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/b9b02327d5ce34ce910b08c4a71dfdbbecdca6a4\"\u003e\u003ccode\u003eb9b0232\u003c/code\u003e\u003c/a\u003e Add density function to SvgDecoder. (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3081\"\u003e#3081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/a70985934532f3b16cb086b6d23c70d2a2b24bd8\"\u003e\u003ccode\u003ea709859\u003c/code\u003e\u003c/a\u003e Add a new language (persian) to the translations of README.md (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3082\"\u003e#3082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/b80e2ddf068ad2f4f2b704fc8e7a2e11192a3dbd\"\u003e\u003ccode\u003eb80e2dd\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spotless to v7.1.0 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3079\"\u003e#3079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/0f6965ffeab059ac8d10c615f9af91635218e601\"\u003e\u003ccode\u003e0f6965f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency com.vanniktech:gradle-maven-publish-plugin to v0...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/e507a3f85b6871dbe0e286881ff2cb776b446c6b\"\u003e\u003ccode\u003ee507a3f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency com.android.tools.build:gradle to v8.11.1 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coil-kt/coil/compare/3.1.0...3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.coil-kt.coil3:coil-network-okhttp` from 3.1.0 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coil-kt/coil/releases\"\u003eio.coil-kt.coil3:coil-network-okhttp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#330---july-22-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320---may-13-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0-rc02\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320-rc02---april-26-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0-rc01\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320-rc01---april-24-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md\"\u003eio.coil-kt.coil3:coil-network-okhttp's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.3.0] - July 22, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eNew\u003c/strong\u003e: Introduce a new API to limit \u003ccode\u003eMemoryCache.maxSize\u003c/code\u003e on Android while the app is backgrounded.\n\u003cul\u003e\n\u003cli\u003eIf \u003ccode\u003eImageLoader.Builder.memoryCacheMaxSizePercentWhileInBackground\u003c/code\u003e is set, the \u003ccode\u003eImageLoader\u003c/code\u003e's memory cache will be limited to a percent of its max size while the app is backgrounded. This setting is currently disabled by default.\u003c/li\u003e\n\u003cli\u003eImages will be trimmed from the memory cache to reach the limited max size when the app is backgrounded, however the memory cache's weak references to recently trimmed images are unaffected. This means if an image is currently referenced elsewhere (e.g. \u003ccode\u003eAsyncImage\u003c/code\u003e, \u003ccode\u003eImageView\u003c/code\u003e, etc.) it will still be present in the memory cache.\u003c/li\u003e\n\u003cli\u003eThis API is useful to reduce background memory usage, keep your app from being killed earlier, and help reduce memory pressure on your users' devices.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew\u003c/strong\u003e: Add an \u003ccode\u003eSvg.Parser\u003c/code\u003e argument to \u003ccode\u003eSvgDecoder\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis enables using custom SVG parsers if the default SVG parser doesn't meet your needs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003edensity\u003c/code\u003e argument to \u003ccode\u003eSvgDecoder\u003c/code\u003e to support providing a custom density multiplier.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eUri.Builder\u003c/code\u003e to support copying and modifying \u003ccode\u003eUri\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eImageLoader.Builder.mainCoroutineContext\u003c/code\u003e to support overriding Coil's \u003ccode\u003eDispatchers.main.immediate\u003c/code\u003e usage in tests.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eCrossfadePainter.intrinsicSize\u003c/code\u003e changing when the \u003ccode\u003estart\u003c/code\u003e image is dereferenced at the end of the animation. This aligns with the behaviour of \u003ccode\u003eCrossfadeDrawable\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eImageLoaders.executeBlocking\u003c/code\u003e being inaccessible from Java.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ekotlinx.io\u003c/code\u003e's Okio interop module in \u003ccode\u003ecoil-network-ktor3\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ekotlinx-datetime\u003c/code\u003e to \u003ccode\u003e0.7.1\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis release includes binary incompatible changes that only affect the \u003ccode\u003ecoil-network-cache-control\u003c/code\u003e module. See \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant\"\u003ehere\u003c/a\u003e for more info.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpdate Kotlin to 2.2.0.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.2.\u003c/li\u003e\n\u003cli\u003eUpdate Okio to 3.15.0.\u003c/li\u003e\n\u003cli\u003eUpdate Skiko to 0.9.4.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.0] - May 13, 2025\u003c/h2\u003e\n\u003cp\u003eChanges since \u003ccode\u003e3.1.0\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eImportant\u003c/strong\u003e: \u003ccode\u003ecoil-compose\u003c/code\u003e and \u003ccode\u003ecoil-compose-core\u003c/code\u003e now require Java 11 bytecode due to Compose \u003ccode\u003e1.8.0\u003c/code\u003e requiring it. See \u003ca href=\"https://coil-kt.github.io/coil/faq/#how-do-i-target-java-8-or-java-11\"\u003ehere\u003c/a\u003e for how to enable it.\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003eAsyncImagePreviewHandler\u003c/code\u003e's functional constructor to return \u003ccode\u003eAsyncImagePainter.State.Success\u003c/code\u003e instead of \u003ccode\u003eAsyncImagePainter.State.Loading\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix cancellation in \u003ccode\u003eConstraintsSizeResolver#size()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix warning for missing \u003ccode\u003ePlatformContext\u003c/code\u003e when building with R8.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eFakeImageLoaderEngine\u003c/code\u003e not setting \u003ccode\u003eTransition.Factory.NONE\u003c/code\u003e when the default \u003ccode\u003eFakeImageLoaderEngine\u003c/code\u003e response is returned.\u003c/li\u003e\n\u003cli\u003eRemove experimental annotation from \u003ccode\u003eColorImage\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eParse network headers lazily in \u003ccode\u003eCacheControlCacheStrategy\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003eCircleCropTransformation\u003c/code\u003e and \u003ccode\u003eRoundedCornersTransformation\u003c/code\u003e to share common code.\u003c/li\u003e\n\u003cli\u003eFall back to using \u003ccode\u003eBitmapFactory\u003c/code\u003e internally if \u003ccode\u003eExifOrientationStrategy\u003c/code\u003e is not \u003ccode\u003eRESPECT_PERFORMANCE\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate Kotlin to 2.1.20.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.0.\u003c/li\u003e\n\u003cli\u003eUpdate Okio to 3.11.0.\u003c/li\u003e\n\u003cli\u003eUpdate Skiko to 0.9.4.\u003c/li\u003e\n\u003cli\u003eUpdate Coroutines to 1.10.2.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eaccompanist-drawablepainter\u003c/code\u003e to 0.37.3.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges since \u003ccode\u003e3.2.0-rc02\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFall back to using \u003ccode\u003eBitmapFactory\u003c/code\u003e internally if \u003ccode\u003eExifOrientationStrategy\u003c/code\u003e is not \u003ccode\u003eRESPECT_PERFORMANCE\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.0.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eaccompanist-drawablepainter\u003c/code\u003e to 0.37.3.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.0-rc02] - April 26, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix image requests failing with \u003ccode\u003eClosedByteChannelException\u003c/code\u003e when loading an image with \u003ccode\u003eKtorNetworkFetcherFactory\u003c/code\u003e (Ktor 3) on non-JVM targets.\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/coil-kt/coil/commit/1731511f0c12ef556db7822a91b6ea03fa3f95a1\"\u003e\u003ccode\u003e1731511\u003c/code\u003e\u003c/a\u003e Prepare 3.3.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/c68534cb1f648ef896846f19935de132668ccef8\"\u003e\u003ccode\u003ec68534c\u003c/code\u003e\u003c/a\u003e Fix accidental binary incompatible change in SvgDecoder. (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3089\"\u003e#3089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/732f7a7861f7c948a6ebb60e640b8b4fff5e83c4\"\u003e\u003ccode\u003e732f7a7\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spotless to v7.2.1 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3088\"\u003e#3088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/fbf78975a09ad215e6f1359f376dc0c0a3e06fbd\"\u003e\u003ccode\u003efbf7897\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin poko to v0.19.2 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3087\"\u003e#3087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/ce87117ede532a...\n\n_Description has been truncated_","html_url":"https://github.com/ArcticFoxPro/QQVersionList/pull/61","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArcticFoxPro%2FQQVersionList/issues/61","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/61/packages"}},{"old_version":"1.303","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2025-10-03T20:59:36.000Z","version_change":"1.303 → 1.330","issue":{"uuid":"2886209429","node_id":"PR_kwDOAhlFVM6sCA-V","number":6797,"state":"open","title":"build(deps): bump the gradle group with 50 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-03T20:59:36.000Z","updated_at":"2025-10-03T20:59:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":50,"packages":[{"name":"com.google.errorprone:error_prone_core","old_version":"2.36.0","new_version":"2.42.0","repository_url":"https://github.com/google/error-prone"},{"name":"biz.aQute.bnd:biz.aQute.bnd.annotation","old_version":"6.4.1","new_version":"7.1.0","repository_url":"https://github.com/bndtools/bnd"},{"name":"org.jsoup:jsoup","old_version":"1.17.2","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.infradna.tool:bridge-method-annotation","old_version":"1.18","new_version":"1.24","repository_url":"https://github.com/infradna/bridge-method-injector"},{"name":"org.kohsuke:github-api","old_version":"1.303","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.github.spotbugs:spotbugs-annotations","old_version":"3.1.12","new_version":"4.9.6","repository_url":"https://github.com/spotbugs/spotbugs"},{"name":"org.apache.commons:commons-collections4","old_version":"4.4","new_version":"4.5.0"},{"name":"org.apache.commons:commons-csv","old_version":"1.10.0","new_version":"1.14.1","repository_url":"https://github.com/apache/commons-csv"},{"name":"commons-io:commons-io","old_version":"2.16.1","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.fasterxml.jackson:jackson-bom","old_version":"2.19.1","new_version":"2.20.0","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.datanucleus:datanucleus-accessplatform-jdo-rdbms","old_version":"6.0.7","new_version":"6.0.10","repository_url":"https://github.com/datanucleus/datanucleus-accessplatform"},{"name":"org.flywaydb:flyway-core","old_version":"9.22.3","new_version":"11.13.2","repository_url":"https://github.com/flyway/flyway"},{"name":"org.xerial:sqlite-jdbc","old_version":"3.45.3.0","new_version":"3.50.3.0","repository_url":"https://github.com/xerial/sqlite-jdbc"},{"name":"de.sstoehr:har-reader","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/sdstoehr/har-reader"},{"name":"io.hektor:hektor-fsm","old_version":"0.0.5","new_version":"0.0.8","repository_url":"https://github.com/sniceio/hektor"},{"name":"com.github.curious-odd-man:rgxgen","old_version":"2.0","new_version":"3.1","repository_url":"https://github.com/curious-odd-man/RgxGen"},{"name":"com.natpryce:snodge","old_version":"2.1.2.2","new_version":"3.7.0.0","repository_url":"https://github.com/npryce/snodge"},{"name":"org.codehaus.groovy:groovy-all","old_version":"3.0.14","new_version":"3.0.25","repository_url":"https://github.com/apache/groovy"},{"name":"io.grpc:grpc-protobuf","old_version":"1.61.1","new_version":"1.75.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"org.jruby:jruby-complete","old_version":"1.7.4","new_version":"9.4.14.0"},{"name":"org.python:jython-standalone","old_version":"2.7.2","new_version":"2.7.4","repository_url":"https://github.com/jython/jython"},{"name":"dev.langchain4j:langchain4j","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-azure-open-ai","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-ollama","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"org.htmlunit:htmlunit-csp","old_version":"4.0.0","new_version":"4.16.0","repository_url":"https://github.com/HtmlUnit/htmlunit-csp"},{"name":"com.google.re2j:re2j","old_version":"1.7","new_version":"1.8","repository_url":"https://github.com/google/re2j"},{"name":"org.xhtmlrenderer:flying-saucer-pdf","old_version":"9.3.1","new_version":"9.13.3","repository_url":"https://github.com/flyingsaucerproject/flyingsaucer"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.2.RELEASE","new_version":"3.1.3.RELEASE"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"2.3.2","new_version":"4.0.6"},{"name":"net.bytebuddy:byte-buddy","old_version":"1.14.13","new_version":"1.17.7","repository_url":"https://github.com/raphw/byte-buddy"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.19.0"},{"name":"org.seleniumhq.selenium:selenium-java","old_version":"4.35.0","new_version":"4.36.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"jakarta.xml.soap:jakarta.xml.soap-api","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/jakartaee/saaj-api"},{"name":"com.sun.xml.messaging.saaj:saaj-impl","old_version":"3.0.0","new_version":"3.0.4"},{"name":"com.predic8:soa-model-core","old_version":"2.0.1","new_version":"2.2.0","repository_url":"https://github.com/membrane/soa-model"},{"name":"io.kaitai:kaitai-struct-runtime","old_version":"0.10","new_version":"0.11","repository_url":"https://github.com/kaitai-io/kaitai_struct_java_runtime"},{"name":"org.slf4j:jcl-over-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:jul-to-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:slf4j-log4j12","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.hamcrest:hamcrest-library","old_version":"2.2","new_version":"3.0","repository_url":"https://github.com/hamcrest/JavaHamcrest"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.10.0","new_version":"5.20.0","repository_url":"https://github.com/mockito/mockito"},{"name":"io.github.bonigarcia:selenium-jupiter","old_version":"5.1.1","new_version":"6.3.1","repository_url":"https://github.com/bonigarcia/selenium-jupiter"},{"name":"io.github.bonigarcia:webdrivermanager","old_version":"5.7.0","new_version":"6.3.2","repository_url":"https://github.com/bonigarcia/webdrivermanager"},{"name":"com.github.weisj:jsvg","old_version":"1.4.0","new_version":"2.0.0","repository_url":"https://github.com/weisJ/jsvg"},{"name":"org.cyclonedx.bom","old_version":"2.2.0","new_version":"3.0.0"},{"name":"com.github.ben-manes.versions","old_version":"0.52.0","new_version":"0.53.0"},{"name":"net.ltgt.errorprone","old_version":"4.1.0","new_version":"4.3.0"},{"name":"io.freefair.lombok","old_version":"8.12.2","new_version":"9.0.0","repository_url":"https://github.com/freefair/gradle-plugins"},{"name":"org.sonarqube","old_version":"4.3.0.3225","new_version":"6.3.1.5724"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 50 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.36.0` | `2.42.0` |\n| [biz.aQute.bnd:biz.aQute.bnd.annotation](https://github.com/bndtools/bnd) | `6.4.1` | `7.1.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.2` | `1.21.2` |\n| [com.infradna.tool:bridge-method-annotation](https://github.com/infradna/bridge-method-injector) | `1.18` | `1.24` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.303` | `1.330` |\n| [com.github.spotbugs:spotbugs-annotations](https://github.com/spotbugs/spotbugs) | `3.1.12` | `4.9.6` |\n| org.apache.commons:commons-collections4 | `4.4` | `4.5.0` |\n| [org.apache.commons:commons-csv](https://github.com/apache/commons-csv) | `1.10.0` | `1.14.1` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.16.1` | `2.20.0` |\n| [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `2.19.1` | `2.20.0` |\n| [org.datanucleus:datanucleus-accessplatform-jdo-rdbms](https://github.com/datanucleus/datanucleus-accessplatform) | `6.0.7` | `6.0.10` |\n| [org.flywaydb:flyway-core](https://github.com/flyway/flyway) | `9.22.3` | `11.13.2` |\n| [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) | `3.45.3.0` | `3.50.3.0` |\n| [de.sstoehr:har-reader](https://github.com/sdstoehr/har-reader) | `3.1.4` | `3.1.6` |\n| [io.hektor:hektor-fsm](https://github.com/sniceio/hektor) | `0.0.5` | `0.0.8` |\n| [com.github.curious-odd-man:rgxgen](https://github.com/curious-odd-man/RgxGen) | `2.0` | `3.1` |\n| [com.natpryce:snodge](https://github.com/npryce/snodge) | `2.1.2.2` | `3.7.0.0` |\n| [org.codehaus.groovy:groovy-all](https://github.com/apache/groovy) | `3.0.14` | `3.0.25` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.61.1` | `1.75.0` |\n| org.jruby:jruby-complete | `1.7.4` | `9.4.14.0` |\n| [org.python:jython-standalone](https://github.com/jython/jython) | `2.7.2` | `2.7.4` |\n| [dev.langchain4j:langchain4j](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-azure-open-ai](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-ollama](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [org.htmlunit:htmlunit-csp](https://github.com/HtmlUnit/htmlunit-csp) | `4.0.0` | `4.16.0` |\n| [com.google.re2j:re2j](https://github.com/google/re2j) | `1.7` | `1.8` |\n| [org.xhtmlrenderer:flying-saucer-pdf](https://github.com/flyingsaucerproject/flyingsaucer) | `9.3.1` | `9.13.3` |\n| org.thymeleaf:thymeleaf | `3.1.2.RELEASE` | `3.1.3.RELEASE` |\n| org.glassfish.jaxb:jaxb-runtime | `2.3.2` | `4.0.6` |\n| [net.bytebuddy:byte-buddy](https://github.com/raphw/byte-buddy) | `1.14.13` | `1.17.7` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.19.0` |\n| [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.36.0` |\n| [jakarta.xml.soap:jakarta.xml.soap-api](https://github.com/jakartaee/saaj-api) | `3.0.0` | `3.0.2` |\n| com.sun.xml.messaging.saaj:saaj-impl | `3.0.0` | `3.0.4` |\n| [com.predic8:soa-model-core](https://github.com/membrane/soa-model) | `2.0.1` | `2.2.0` |\n| [io.kaitai:kaitai-struct-runtime](https://github.com/kaitai-io/kaitai_struct_java_runtime) | `0.10` | `0.11` |\n| org.slf4j:jcl-over-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:jul-to-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:slf4j-log4j12 | `1.7.32` | `2.0.17` |\n| [org.hamcrest:hamcrest-library](https://github.com/hamcrest/JavaHamcrest) | `2.2` | `3.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.10.2` | `6.0.0` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.10.0` | `5.20.0` |\n| [io.github.bonigarcia:selenium-jupiter](https://github.com/bonigarcia/selenium-jupiter) | `5.1.1` | `6.3.1` |\n| [io.github.bonigarcia:webdrivermanager](https://github.com/bonigarcia/webdrivermanager) | `5.7.0` | `6.3.2` |\n| [com.github.weisj:jsvg](https://github.com/weisJ/jsvg) | `1.4.0` | `2.0.0` |\n| org.cyclonedx.bom | `2.2.0` | `3.0.0` |\n| com.github.ben-manes.versions | `0.52.0` | `0.53.0` |\n| net.ltgt.errorprone | `4.1.0` | `4.3.0` |\n| [io.freefair.lombok](https://github.com/freefair/gradle-plugins) | `8.12.2` | `9.0.0` |\n| org.sonarqube | `4.3.0.3225` | `6.3.1.5724` |\n\nUpdates `com.google.errorprone:error_prone_core` from 2.36.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.42.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExplicitArrayForVarargs\"\u003e\u003ccode\u003eExplicitArrayForVarargs\u003c/code\u003e\u003c/a\u003e: discourage unnecessary explicit construction of an array to provide varargs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/FloggerPerWithoutRateLimit\"\u003e\u003ccode\u003eFloggerPerWithoutRateLimit\u003c/code\u003e\u003c/a\u003e: discourage Flogger's \u003ccode\u003eperUnique\u003c/code\u003e without rate limiting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/StringJoin\"\u003e\u003ccode\u003eStringJoin\u003c/code\u003e\u003c/a\u003e: Ban \u003ccode\u003eString.join(CharSequence)\u003c/code\u003e and \u003ccode\u003eString.join(CharSequence, CharSequence)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThreadBuilderNameWithPlaceholder\"\u003e\u003ccode\u003eThreadBuilderNameWithPlaceholder\u003c/code\u003e\u003c/a\u003e: Do not allow placeholders in \u003ccode\u003eThread.Builder.name(String)\u003c/code\u003e or \u003ccode\u003ename(String, int)\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe return type of \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e has changed. The previous type was \u003ccode\u003eEnumSet\u0026lt;Flags.Flag\u0026gt;\u003c/code\u003e, where \u003ccode\u003eFlags.Flag\u003c/code\u003e is an enum in the javac class \u003ccode\u003eFlags\u003c/code\u003e. A recent JDK change has replaced that enum with a new top-level enum called \u003ccode\u003eFlagsEnum\u003c/code\u003e. It is not possible to change \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e in a way that would be type-safe and compatible with the enums from JDKs both before and after the change. Instead, the method now returns \u003ccode\u003eImmutableSet\u0026lt;String\u0026gt;\u003c/code\u003e, where the strings come from the \u003ccode\u003etoString()\u003c/code\u003e of the enum constants. That means they are \u003ccode\u003e\u0026quot;native\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;abstract\u0026quot;\u003c/code\u003e, etc.\u003c/li\u003e\n\u003cli\u003eFlag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ca href=\"https://errorprone.info/bugpattern/SystemOut\"\u003e\u003ccode\u003eSystemOut\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.41.0...v2.42.0\"\u003ehttps://github.com/google/error-prone/compare/v2.41.0...v2.42.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.41.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/EffectivelyPrivate\"\u003eEffectivelyPrivate\u003c/a\u003e: Detect declarations that have \u003ccode\u003epublic\u003c/code\u003e or \u003ccode\u003eprotected\u003c/code\u003e modifiers, but are effectively private\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip BooleanLiteral findings if the target type is boxed (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5134\"\u003e#5134\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.40.0...v2.41.0\"\u003ehttps://github.com/google/error-prone/compare/v2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.40.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and improvements\u003c/li\u003e\n\u003cli\u003eReleases (including snapshots) have migrated from \u003ca href=\"https://central.sonatype.org/pages/ossrh-eol/#process-to-migrate\"\u003eOSSRH to the Central Publisher Portal\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.39.0...v2.40.0\"\u003ehttps://github.com/google/error-prone/compare/v2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.39.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTemporarily downgrade to Guava 33.4.0 (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5108\"\u003e#5108\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChecks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BooleanLiteral\"\u003e\u003ccode\u003eBooleanLiteral\u003c/code\u003e\u003c/a\u003e: Prefer \u003ccode\u003etrue\u003c/code\u003e to \u003ccode\u003eBoolean.TRUE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExpensiveLenientFormatString\"\u003e\u003ccode\u003eExpensiveLenientFormatString\u003c/code\u003e\u003c/a\u003e: Renamed from \u003ccode\u003ePreconditionsExpensiveString\u003c/code\u003e, detects unnecessary calls to \u003ccode\u003eString.format\u003c/code\u003e in the arguments of lenient formatting methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/UnnecessaryQualifier\"\u003e\u003ccode\u003eUnnecessaryQualifier\u003c/code\u003e\u003c/a\u003e: Detects \u003ccode\u003e@Qualifier\u003c/code\u003e or \u003ccode\u003e@BindingAnnotation\u003c/code\u003e annotations that have no effect, and can be removed\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/4996\"\u003e#4996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5045\"\u003e#5045\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.38.0...v2.39.0\"\u003ehttps://github.com/google/error-prone/compare/v2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.38.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/google/error-prone/commit/52b61801ceacc31be26261a14e4eb95bee68cdd8\"\u003e\u003ccode\u003e52b6180\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/691c64a24ac430fa26a69ff3ae62fdba0346e0df\"\u003e\u003ccode\u003e691c64a\u003c/code\u003e\u003c/a\u003e Flag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ccode\u003eSystemOut\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/0b751cd69ac278d63686a776cd55a067b7bff7ae\"\u003e\u003ccode\u003e0b751cd\u003c/code\u003e\u003c/a\u003e ExpicitArrayForVarargs: flag unnecessary explicit construction of an array to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/982fe208c273cc82e838efbbc9c001b857cd239e\"\u003e\u003ccode\u003e982fe20\u003c/code\u003e\u003c/a\u003e Tweak links to point to newer versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a2df97f0d3842e1d45f26bf085a3a95f273346be\"\u003e\u003ccode\u003ea2df97f\u003c/code\u003e\u003c/a\u003e [StatementSwitchToExpressionSwitch] fix bug where \u003ccode\u003ecase null\u003c/code\u003e can sometimes b...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/e691be588c891d4fc10cb41f019960accd21db2d\"\u003e\u003ccode\u003ee691be5\u003c/code\u003e\u003c/a\u003e Fix (behind a flag) a silly bug in RedundantSetterCall.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/ce1a422f3f92a9a9c6434a9e0e00df5ce9877df2\"\u003e\u003ccode\u003ece1a422\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eDurations.wait()\u003c/code\u003e to \u003ccode\u003eWaitMatchers.waitMethodWithTimeout\u003c/code\u003e (and make them...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da03fea47dd31b1a63932d78f3d91fb383cce8d1\"\u003e\u003ccode\u003eda03fea\u003c/code\u003e\u003c/a\u003e Update MethodCanBeStatic to be able to detect and trigger on Guice \u003ca href=\"https://github.com/Provides\"\u003e\u003ccode\u003e@​Provides\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/83e6582d6333d2e2d5e5f2f279c630d54ae65fae\"\u003e\u003ccode\u003e83e6582\u003c/code\u003e\u003c/a\u003e RedundantSetterCall: note that setFooValue and setFooBytes can be aliases for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/db62c8c27ec5984058788547958f2f7c8d1bee95\"\u003e\u003ccode\u003edb62c8c\u003c/code\u003e\u003c/a\u003e Automated rollback of commit e1b16e24461d90f2b11f8213a68bfccc0426d4f3.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.36.0...v2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `biz.aQute.bnd:biz.aQute.bnd.annotation` from 6.4.1 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/bndtools/bnd/releases\"\u003ebiz.aQute.bnd:biz.aQute.bnd.annotation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBnd/Bndtools 7.1.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.1.0\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBnd/Bndtools 7.0.0\u003c/h2\u003e\n\u003cp\u003eThis is the first release on Java 17.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.0.0\"\u003eRelease Notes\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/bndtools/bnd/commit/47e504d7881ba466703c55a8dca7b0578561582d\"\u003e\u003ccode\u003e47e504d\u003c/code\u003e\u003c/a\u003e Build Release 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/c3ff1490e5a2d72336e28920711ec0d024c4a801\"\u003e\u003ccode\u003ec3ff149\u003c/code\u003e\u003c/a\u003e build: Build release 7.1.0.RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/2fc3187b1be2e04e78e4056b6c2efae406646b5b\"\u003e\u003ccode\u003e2fc3187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6363\"\u003e#6363\u003c/a\u003e from laeubi/process_with_conditional_package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/cd347e1202077e625bbdd5dadc158adb49e504db\"\u003e\u003ccode\u003ecd347e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6365\"\u003e#6365\u003c/a\u003e from bndtools/dependabot/github_actions/ruby/setup-r...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/9aa57efecc7e026646e279307d23ea5edb089e57\"\u003e\u003ccode\u003e9aa57ef\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.201.0 to 1.202.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/ec0fea78a246e66430db06e0e8ad0423ffb59dc2\"\u003e\u003ccode\u003eec0fea7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6361\"\u003e#6361\u003c/a\u003e from bndtools/dependabot/github_actions/github/codeq...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/396262634e86aad490df4b43150f3c903c60973f\"\u003e\u003ccode\u003e3962626\u003c/code\u003e\u003c/a\u003e Add testcase for conditional packages with bnd-process\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/fe9a874b3be6e6c2d86625afa55985d1b89c6199\"\u003e\u003ccode\u003efe9a874\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.27.0 to 3.27.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/e3c95f878d3266b872d5ce3ea81b07e8a99e3f8e\"\u003e\u003ccode\u003ee3c95f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6360\"\u003e#6360\u003c/a\u003e from pkriens/issue/6346-gradle-reference-to-project-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/aac92718e6b5021548ff6782871a1841f041eee5\"\u003e\u003ccode\u003eaac9271\u003c/code\u003e\u003c/a\u003e Added a method to get the Macro references from a Processor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bndtools/bnd/compare/6.4.1...7.1.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.17.2 to 1.21.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup 1.21.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.2\u003c/strong\u003e is out now, adding support for custom \u003ccode\u003eSSLContext\u003c/code\u003e in HTTP/2 connections, and improving consistency in how user data is handled in attributes. It also brings performance gains in DOM manipulation and fragment parsing, and fixes several edge cases in stream parsing, traversal, cloning, and concurrent reads.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ejsoup 1.21.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.1\u003c/strong\u003e is out now, featuring powerful new node selection capabilities that let you target specific DOM nodes like comments and text nodes using CSS selectors, dynamic tag customization through the new TagSet callback system, and improved defense against mutation XSS attacks with simplified attribute escaping. This release also brings HTTP/2 support by default, numerous API improvements for better developer experience, and fixes for several edge-case parsing issues.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; type)\u003c/code\u003e method instead. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull(Object)\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull(T)\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; nodeType)\u003c/code\u003e for direct node selection. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2330\"\u003e#2330\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection.Response#readBody()\u003c/code\u003e over \u003ccode\u003eConnection.Response#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\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\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.21.2 (2025-Aug-25)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.1 (2025-Jun-23)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class type)\u003c/code\u003e method instead. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class nodeType)\u003c/code\u003e for direct node selection. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace).\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection#readBody()\u003c/code\u003e over \u003ccode\u003eConnection#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe contents of a \u003ccode\u003escript\u003c/code\u003e in a \u003ccode\u003esvg\u003c/code\u003e foreign context should be parsed as script data, not text. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2320\"\u003e#2320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTag#isFormSubmittable()\u003c/code\u003e was updating the Tag's options. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2323\"\u003e#2323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML pretty-printer would incorrectly trim whitespace when text followed an inline element in a block element. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2325\"\u003e#2325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom tags with hyphens or other non-letter characters in their names now work correctly as Data or RcData tags. Their closing tags are now tokenized properly. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2332\"\u003e#2332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen cloning an Element, the clone would retain the source's cached child Element list (if any), which could lead to incorrect results when modifying the clone's child elements. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2334\"\u003e#2334\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/b02837b6c77b94799c055f8fa446fb770bfb49f1\"\u003e\u003ccode\u003eb02837b\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.21.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1f0c2070e78b5d171c4e5896930c612c58474608\"\u003e\u003ccode\u003e1f0c207\u003c/code\u003e\u003c/a\u003e v1.21.2 release date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/b0934637750ed6ddd91bf344842c8c5aad1fb70f\"\u003e\u003ccode\u003eb093463\u003c/code\u003e\u003c/a\u003e Use central-publishing-maven-plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/615b9592ffe8e65b4e461f7727081995931154ce\"\u003e\u003ccode\u003e615b959\u003c/code\u003e\u003c/a\u003e Updating sonatype deploy URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/69617205f80df06acf2adb38fd8a19f3724b6845\"\u003e\u003ccode\u003e6961720\u003c/code\u003e\u003c/a\u003e Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2386\"\u003e#2386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/82864b246c0005cc66a50daede3568f930504030\"\u003e\u003ccode\u003e82864b2\u003c/code\u003e\u003c/a\u003e Bump jetty.version from 9.4.57.v20241219 to 9.4.58.v20250814 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2385\"\u003e#2385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/71f963ea3a78746fc2a3ba80b2843254b35c211a\"\u003e\u003ccode\u003e71f963e\u003c/code\u003e\u003c/a\u003e Fix for HTML that breaks the select scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/6b20f6e3d158d1ce3147c4e9306d9b485e083bf4\"\u003e\u003ccode\u003e6b20f6e\u003c/code\u003e\u003c/a\u003e Removed effective recursion closing \u003ccode\u003e\\\u0026lt;/select\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/eb2957a8b3e8c12649c5b83872a238dd74e68dec\"\u003e\u003ccode\u003eeb2957a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2382\"\u003e#2382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/3a9a6c7c8a67d51ebbb598495496e28dcd0c18e1\"\u003e\u003ccode\u003e3a9a6c7\u003c/code\u003e\u003c/a\u003e Fix ProxyTest in CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.17.2...jsoup-1.21.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.infradna.tool:bridge-method-annotation` from 1.18 to 1.24\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/90b05fc5d86b8e9362bbb31ccc37b28abdc67e52\"\u003e\u003ccode\u003e90b05fc\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1e3123cf4feaa612e6aa77ccf1a12cfd61a473a9\"\u003e\u003ccode\u003e1e3123c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/29\"\u003e#29\u003c/a\u003e from basil/asm-9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/c89b1025f3a4808e3d03a8a84b3f4ece06b96bf1\"\u003e\u003ccode\u003ec89b102\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.2 to 9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a60c63572dbb7a1d1aa91b5fbb0866517db88836\"\u003e\u003ccode\u003ea60c635\u003c/code\u003e\u003c/a\u003e Replaced by README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/8a5b5e9c6d5036aa492e43d3552b40cba07e5d8b\"\u003e\u003ccode\u003e8a5b5e9\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/677782c5cd7b3df04755b6f515c184748b019770\"\u003e\u003ccode\u003e677782c\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/jenkinsci/bridge-method-injector/commit/4682998f65e92142b9b3b185c63eb40ea0ed8c07\"\u003e\u003ccode\u003e4682998\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a2c094ff373921db7d71551d8f3fcd868c56e467\"\u003e\u003ccode\u003ea2c094f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/27\"\u003e#27\u003c/a\u003e from basil/asm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/cd1a8efd21354ac75447e338eee3298b7aa2386a\"\u003e\u003ccode\u003ecd1a8ef\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.0 to 9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1567095d18f443e5cbeb4593520f6fc0345b32fb\"\u003e\u003ccode\u003e1567095\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/infradna/bridge-method-injector/compare/bridge-method-injector-parent-1.18...bridge-method-injector-parent-1.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.kohsuke:github-api` from 1.303 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.303...github-api-1.330\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.spotbugs:spotbugs-annotations` from 3.1.12 to 4.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spotbugs/spotbugs/releases\"\u003ecom.github.spotbugs:spotbugs-annotations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.6\u003c/h2\u003e\n\u003cp\u003eSpotBugs 4.9.6\u003c/p\u003e\n\u003ch3\u003eCHANGELOG\u003c/h3\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e method calls (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCHECKSUM\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003efile\u003c/th\u003e\n\u003cth\u003echecksum (sha256)\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003eb4b9373ad6f22ad2547a8274501f87b01e2428c30aabaea3aeec3f9095636e24\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e89687b6e685c9a07f7faf49f29b832fb861884f2160947eb4396498cdbb33cc4\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6.tgz\u003c/td\u003e\n\u003ctd\u003e55aa9b9e3deef0391be285335dcf134d1ce54aae222bba1da757eaa616108957\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6.zip\u003c/td\u003e\n\u003ctd\u003e86fb3f93c4147383f76fe21ab2807956b34cf17108a42a76311efa4977f952cc\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e4c9f8027f6a2313ef22347f4832e5dccc9c58d350d1bd5bff4d5a53f37e1c220\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e075b2eed660c2fe2fb1ad1de028f8fdff5f358e25c1318706b95ab17bb28be44\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations.jar\u003c/td\u003e\n\u003ctd\u003e523d394a6b36174ad0a22f0c1c75b105ccff42869a8b7ce86e7fd339ca6f86ce\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e9b510af8cd3a5c62560fe544b730ebf44cbb109e085fe526add155258612273c\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e91477d93b1fd1bebae35d318427b5238fb458e726478dc1a8ac41ce74838a1e6\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant.jar\u003c/td\u003e\n\u003ctd\u003e22f2fa397e86663adcd4828cc1c91e63aa6cc2bfc56832885b749a86fac5c784\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs.jar\u003c/td\u003e\n\u003ctd\u003e62a0def31899338200fc9013b4db8a8aedfc3536ca7d70d59038b092dfaa6819\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003ebdcef7587312fb9a85d0d292623ea1a779bfe8b9a5e321d73bb8ad92ce79ed0a\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e805d2d124b0d4ea513ee9262d4ad6027c3471d45defd80fd7d20e23425d17df7\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e0076a3bc9602c78d73edb048e625a96ee6a182fa3dd39300aa739af67b954189\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e7d7a7d6944e7199e06384104b163c11145ed60dd567fefd9b788f3ac03770e18\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e656579431db1b2714faeeca3c3d59426e2ffdfdb0725546b4090f993d2413eeb\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e66db286ae1dd056458c1e0303a8e2f81fe95a2c5d2888172a3ed17e993434bf1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e8925836d7d1198ec223c4ff5118fd596278df4157d910eb767f7f312a7df8904\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e59bbb8581ed4bdd212a669d94ec363b6c1d6df9276a608359c66d7f0c1688279\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e0582a99bdc66e24c7e36753014729149189fd27129ec5a2f38a8d67457bc9696\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSpotBugs 4.9.5\u003c/h2\u003e\n\u003ch3\u003eCHANGELOG\u003c/h3\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix for an error when a record method has the \u003ccode\u003e@SuppressFBWarnings\u003c/code\u003e annotation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3622\"\u003e#3622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSF_SWITCH_FALLTHROUGH\u003c/code\u003e false positive when continuing a loop (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCWO_CLOSED_WITHOUT_OPENED\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSF_SWITCH_NO_DEFAULT\u003c/code\u003e false positive fix for switch-arrow (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the issue with BCEL logging \u003ccode\u003eDuplicating value: ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing jakarta support for servlets / pre/post destroy (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3694\"\u003e#3694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'java.nio.file.Path.of' to known types for path traversal checks (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3699\"\u003e#3699\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCleanup\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eS1481: Unused local variables should be removed (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3654\"\u003e#3654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved test libraries to jakarta namespace including switching off jsr305 where possible for jakarta.annotatoin (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3695\"\u003e#3695\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCHECKSUM\u003c/h3\u003e\n\u003cp\u003e| file | checksum (sha256) |\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/spotbugs/spotbugs/blob/master/CHANGELOG.md\"\u003ecom.github.spotbugs:spotbugs-annotations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.6 - 2025-09-16\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e method calls (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.5 - 2025-09-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix for an error when a record method has the \u003ccode\u003e@SuppressFBWarnings\u003c/code\u003e annotation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3622\"\u003e#3622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSF_SWITCH_FALLTHROUGH\u003c/code\u003e false positive when continuing a loop (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCWO_CLOSED_WITHOUT_OPENED\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSF_SWITCH_NO_DEFAULT\u003c/code\u003e false positive fix for switch-arrow (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the issue with BCEL logging \u003ccode\u003eDuplicating value: ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing jakarta support for servlets / pre/post destroy (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3694\"\u003e#3694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'java.nio.file.Path.of' to known types for path traversal checks (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3699\"\u003e#3699\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCleanup\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eS1481: Unused local variables should be removed (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3654\"\u003e#3654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved test libraries to jakarta namespace including switching off jsr305 where possible for jakarta.annotatoin (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3695\"\u003e#3695\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.4 - 2025-08-07\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAnnotationMatcher\u003c/code\u003e can now ignore bugs if annotation is also applied on methods or fields. Previously only annotations on classes were considered.\u003c/li\u003e\n\u003cli\u003eAdd relevant CWE ids to bugs and refer the CWEs in the bug messages (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3354\"\u003e#3354\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eLOCAL_VARIABLE_UNKNOWN\u003c/code\u003e with exact method name for \u003ccode\u003eNP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3485\"\u003e#3485\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWiden main method recognition according to \u003ca href=\"https://openjdk.org/jeps/445\"\u003eJEP 445\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3371\"\u003e#3371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eUS_USELESS_SUPPRESSION_ON_*\u003c/code\u003e on methods, fields, parameters, packages or classes with an \u003ccode\u003e*.Generated\u003c/code\u003e annotation with retention \u0026gt;= class (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3350\"\u003e#3350\u003c/a\u003e)(\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3409\"\u003e#3409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite some member in \u003ccode\u003eResourceValueFrame.java\u003c/code\u003e to Enum (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/2061\"\u003e#2061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore non-interpreted text when looking for \u003ccode\u003eFS_BAD_DATE_FORMAT_FLAG_COMBO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3387\"\u003e#3387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix IllegalArgumentException thrown from \u003ccode\u003eFindNoSideEffectMethods\u003c/code\u003e detector (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3320\"\u003e#3320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eRV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT\u003c/code\u003e when part of a Mockito \u003ccode\u003edoAnswer()\u003c/code\u003e, \u003ccode\u003edoCallRealMethod()\u003c/code\u003e, \u003ccode\u003edoNothing()\u003c/code\u003e, \u003ccode\u003edoThrow()\u003c/code\u003e or \u003ccode\u003edoReturn()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3334\"\u003e#3334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eCT_CONSTRUCTOR_THROW\u003c/code\u003e false positive with public and private constructors in specific order of methods (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3417\"\u003e#3417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e, \u003ccode\u003eAT_NONATOMIC_64BIT_PRIMITIVE\u003c/code\u003e and \u003ccode\u003eAT_STALE_THREAD_WRITE_OF_PRIMITIVE\u003c/code\u003e FP when the relevant code is in private method, which is only called with proper synchronization (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3428\"\u003e#3428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eRV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT\u003c/code\u003e when part of a BDDMockito call (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3441\"\u003e#3441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e when field of a local variable is set. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3459\"\u003e#3459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e FP when there was no compound operation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3363\"\u003e#3363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eNM_FIELD_NAMING_CONVENTION\u003c/code\u003e crash in the TestASM detector (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3489\"\u003e#3489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR\u003c/code\u003e for fields initialized in JUnit 3/4 \u003ccode\u003esetUp()\u003c/code\u003e method. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3169\"\u003e#3169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eUS_USELESS_SUPPRESSION_ON_FIELD\u003c/code\u003e/\u003ccode\u003eUUF_UNUSED_FIELD\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3496\"\u003e#3496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake the osgi manifest of the annotations jar Java 8 compatible  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3498\"\u003e#3498\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3500\"\u003e#3500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextUICommandLine\u003c/code\u003e supports all options encoded in Eclipse preferences file (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3520\"\u003e#3520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnnecessary suppressions fix for records headers (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3471\"\u003e#3471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDead store fix when switch case contains loops  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3530\"\u003e#3530\u003c/a\u003e)  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3449\"\u003e#3449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider PUTFIELD and PUTSTATIC when looking for assertions with side effects (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3463\"\u003e#3463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect cases when equals() unconditionally returns true or false (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3528\"\u003e#3528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report that an Iterator does not throw \u003ccode\u003eNoSuchElementException\u003c/code\u003e when \u003ccode\u003ehasNext()\u003c/code\u003e returns true (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3501\"\u003e#3501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect random value cast to int when stored in temporary variable (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3461\"\u003e#3461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLook for interfaces default methods when searching uncalled private methods (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/1988\"\u003e#1988\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/spotbugs/spotbugs/commit/aa3a737bc82090dd8060524fe3e2498350e7cfd7\"\u003e\u003ccode\u003eaa3a737\u003c/code\u003e\u003c/a\u003e release v4.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/7d37faa40ea11e119272f9ce1fc85428ed3c85b4\"\u003e\u003ccode\u003e7d37faa\u003c/code\u003e\u003c/a\u003e chore(build): Temporarily remove the publish part\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/923f053467d889fdb2dcfbfb95b868458a6e2961\"\u003e\u003ccode\u003e923f053\u003c/code\u003e\u003c/a\u003e chore(docs): Minor syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/d662709773b1c1974f4582de2f278f497ce2b59d\"\u003e\u003ccode\u003ed662709\u003c/code\u003e\u003c/a\u003e chore(build): Rework the bin/hub to gh replacement\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/95470b84584a2652593d8a93c601c0a6d8577733\"\u003e\u003ccode\u003e95470b8\u003c/code\u003e\u003c/a\u003e prepare for next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/71e370669e8798898fe4214b0ec30ccb1d31aafb\"\u003e\u003ccode\u003e71e3706\u003c/code\u003e\u003c/a\u003e release v4.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/68013c09022410cf67a2eb1c2f50164925cbe431\"\u003e\u003ccode\u003e68013c0\u003c/code\u003e\u003c/a\u003e chore(Build): Rename as yaml extensions, use gh, and update conf versions (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/9f0ec1211acac3218e3a733bad55ce2c2337541e\"\u003e\u003ccode\u003e9f0ec12\u003c/code\u003e\u003c/a\u003e chore: Use proper import (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3716\"\u003e#3716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/6f81754c8548c2da9200773ed15e4bb142f18417\"\u003e\u003ccode\u003e6f81754\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin com.gradle.develocity to v4.2 (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3714\"\u003e#3714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/1f1fd68eda09bd93f0ad65611a5d2bfe503f6121\"\u003e\u003ccode\u003e1f1fd68\u003c/code\u003e\u003c/a\u003e Fix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spotbugs/spotbugs/compare/3.1.12...4.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.commons:commons-collections4` from 4.4 to 4.5.0\n\nUpdates `org.apache.commons:commons-csv` from 1.10.0 to 1.14.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-csv/blob/master/RELEASE-NOTES.txt\"\u003eorg.apache.commons:commons-csv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons CSV 1.14.1 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons CSV team is pleased to announce the release of Apache Commons CSV 1.14.1.\u003c/p\u003e\n\u003cp\u003eThis document contains the release notes for the 1.14.1 version of Apache Commons CSV.\nCommons CSV reads and writes files in Comma Separated Value (CSV) format variations.\u003c/p\u003e\n\u003cp\u003eCommons CSV requires at least Java 8.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003cp\u003eChanges in this version include:\u003c/p\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCSV-318:  CSVPrinter.printRecord(Stream) hangs if given a parallel stream. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCSV-318:  CSVPrinter now uses an internal lock instead of synchronized methods. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      org.apache.commons.csv.CSVPrinter.printRecords(ResultSet) now writes one record at a time using a lock. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-parent from 81 to 85 [#542](https://github.com/apache/commons-csv/issues/542). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-io:commons-io from 2.18.0 to 2.20.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump com.opencsv:opencsv from 5.10 to 5.11.2 [#545](https://github.com/apache/commons-csv/issues/545), [#551](https://github.com/apache/commons-csv/issues/551), [#553](https://github.com/apache/commons-csv/issues/553). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 [#556](https://github.com/apache/commons-csv/issues/556). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-codec:commons-codec from 1.18.0 to 1.19.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHistorical list of changes: \u003ca href=\"https://commons.apache.org/proper/commons-csv/changes.html\"\u003ehttps://commons.apache.org/proper/commons-csv/changes.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFor complete information on Apache Commons CSV, including instructions on how to submit bug reports,\npatches, or suggestions for improvement, see the Apache Commons CSV website:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://commons.apache.org/proper/commons-csv/\"\u003ehttps://commons.apache.org/proper/commons-csv/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDownload page: \u003ca href=\"https://commons.apache.org/proper/commons-csv/download_csv.cgi\"\u003ehttps://commons.apache.org/proper/commons-csv/download_csv.cgi\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eHave fun!\n-Apache Commons CSV team\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eApache Commons CSV 1.14.0 Release Notes\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/apache/commons-csv/commit/e14ef86d34211f9d1b9b6040c5f6dbafc93ba907\"\u003e\u003ccode\u003ee14ef86\u003c/code\u003e\u003c/a\u003e Ignore macOS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/d8724bf76a7d6abbb93aad65e316f050f86a256d\"\u003e\u003ccode\u003ed8724bf\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.14.1 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b76971c25af176f901c003b25d6a5f4f6edc87ad\"\u003e\u003ccode\u003eb76971c\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b66814ef248186b7a8316b85e1208c705dba06e3\"\u003e\u003ccode\u003eb66814e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/apache/commons-csv/issues/557\"\u003e#557\u003c/a\u003e from apache/dependabot/github_actions/github/codeql-a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/9c95e92d6aaa4d052a139158a900395646c6652e\"\u003e\u003ccode\u003e9c95e92\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.29.2 to 3.29.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/1fb37163f9fe59aa13c63efd53e71d7a0392be4c\"\u003e\u003ccode\u003e1fb3716\u003c/code\u003e\u003c/a\u003e Bump commons-codec:commons-codec from 1.18.0 to 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/7b72c509f73e05ca2bf2f0945a6a1cb03f87bd39\"\u003e\u003ccode\u003e7b72c50\u003c/code\u003e\u003c/a\u003e Merge some string literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/96583732b6be55d459a5b430c4a3a3bb2126db10\"\u003e\u003ccode\u003e9658373\u003c/code\u003e\u003c/a\u003e Update the GitHub pull request template for AI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/67192a9e0af58bdf49edf4e0d29f50343da82c70\"\u003e\u003ccode\u003e67192a9\u003c/code\u003e\u003c/a\u003e Bump commons-io:commons-io from 2.19.0 to 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/59164c8b795ebd4cc0362c4c74d7c893c4a5030...\n\n_Description has been truncated_","html_url":"https://github.com/zaproxy/zap-extensions/pull/6797","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaproxy%2Fzap-extensions/issues/6797","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6797/packages"}},{"old_version":"1.303","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2025-10-03T18:43:35.000Z","version_change":"1.303 → 1.330","issue":{"uuid":"2885887901","node_id":"PR_kwDODf4ejs6sAyed","number":13,"state":"open","title":"build(deps): bump the gradle group with 50 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-03T18:43:35.000Z","updated_at":"2025-10-03T18:43:36.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":50,"packages":[{"name":"com.google.errorprone:error_prone_core","old_version":"2.36.0","new_version":"2.42.0","repository_url":"https://github.com/google/error-prone"},{"name":"biz.aQute.bnd:biz.aQute.bnd.annotation","old_version":"6.4.1","new_version":"7.1.0","repository_url":"https://github.com/bndtools/bnd"},{"name":"org.jsoup:jsoup","old_version":"1.17.2","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.infradna.tool:bridge-method-annotation","old_version":"1.18","new_version":"1.24","repository_url":"https://github.com/infradna/bridge-method-injector"},{"name":"org.kohsuke:github-api","old_version":"1.303","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.github.spotbugs:spotbugs-annotations","old_version":"3.1.12","new_version":"4.9.6","repository_url":"https://github.com/spotbugs/spotbugs"},{"name":"org.apache.commons:commons-collections4","old_version":"4.4","new_version":"4.5.0"},{"name":"org.apache.commons:commons-csv","old_version":"1.10.0","new_version":"1.14.1","repository_url":"https://github.com/apache/commons-csv"},{"name":"commons-io:commons-io","old_version":"2.16.1","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.fasterxml.jackson:jackson-bom","old_version":"2.19.1","new_version":"2.20.0","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.datanucleus:datanucleus-accessplatform-jdo-rdbms","old_version":"6.0.7","new_version":"6.0.10","repository_url":"https://github.com/datanucleus/datanucleus-accessplatform"},{"name":"org.flywaydb:flyway-core","old_version":"9.22.3","new_version":"11.13.2","repository_url":"https://github.com/flyway/flyway"},{"name":"org.xerial:sqlite-jdbc","old_version":"3.45.3.0","new_version":"3.50.3.0","repository_url":"https://github.com/xerial/sqlite-jdbc"},{"name":"de.sstoehr:har-reader","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/sdstoehr/har-reader"},{"name":"io.hektor:hektor-fsm","old_version":"0.0.5","new_version":"0.0.8","repository_url":"https://github.com/sniceio/hektor"},{"name":"com.github.curious-odd-man:rgxgen","old_version":"2.0","new_version":"3.1","repository_url":"https://github.com/curious-odd-man/RgxGen"},{"name":"com.natpryce:snodge","old_version":"2.1.2.2","new_version":"3.7.0.0","repository_url":"https://github.com/npryce/snodge"},{"name":"org.codehaus.groovy:groovy-all","old_version":"3.0.14","new_version":"3.0.25","repository_url":"https://github.com/apache/groovy"},{"name":"io.grpc:grpc-protobuf","old_version":"1.61.1","new_version":"1.75.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"org.jruby:jruby-complete","old_version":"1.7.4","new_version":"9.4.14.0"},{"name":"org.python:jython-standalone","old_version":"2.7.2","new_version":"2.7.4","repository_url":"https://github.com/jython/jython"},{"name":"dev.langchain4j:langchain4j","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-azure-open-ai","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-ollama","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"org.htmlunit:htmlunit-csp","old_version":"4.0.0","new_version":"4.16.0","repository_url":"https://github.com/HtmlUnit/htmlunit-csp"},{"name":"com.google.re2j:re2j","old_version":"1.7","new_version":"1.8","repository_url":"https://github.com/google/re2j"},{"name":"org.xhtmlrenderer:flying-saucer-pdf","old_version":"9.3.1","new_version":"9.13.3","repository_url":"https://github.com/flyingsaucerproject/flyingsaucer"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.2.RELEASE","new_version":"3.1.3.RELEASE"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"2.3.2","new_version":"4.0.6"},{"name":"net.bytebuddy:byte-buddy","old_version":"1.14.13","new_version":"1.17.7","repository_url":"https://github.com/raphw/byte-buddy"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.19.0"},{"name":"org.seleniumhq.selenium:selenium-java","old_version":"4.35.0","new_version":"4.36.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"jakarta.xml.soap:jakarta.xml.soap-api","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/jakartaee/saaj-api"},{"name":"com.sun.xml.messaging.saaj:saaj-impl","old_version":"3.0.0","new_version":"3.0.4"},{"name":"com.predic8:soa-model-core","old_version":"2.0.1","new_version":"2.2.0","repository_url":"https://github.com/membrane/soa-model"},{"name":"io.kaitai:kaitai-struct-runtime","old_version":"0.10","new_version":"0.11","repository_url":"https://github.com/kaitai-io/kaitai_struct_java_runtime"},{"name":"org.slf4j:jcl-over-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:jul-to-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:slf4j-log4j12","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.hamcrest:hamcrest-library","old_version":"2.2","new_version":"3.0","repository_url":"https://github.com/hamcrest/JavaHamcrest"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.10.0","new_version":"5.20.0","repository_url":"https://github.com/mockito/mockito"},{"name":"io.github.bonigarcia:selenium-jupiter","old_version":"5.1.1","new_version":"6.3.1","repository_url":"https://github.com/bonigarcia/selenium-jupiter"},{"name":"io.github.bonigarcia:webdrivermanager","old_version":"5.7.0","new_version":"6.3.2","repository_url":"https://github.com/bonigarcia/webdrivermanager"},{"name":"com.github.weisj:jsvg","old_version":"1.4.0","new_version":"2.0.0","repository_url":"https://github.com/weisJ/jsvg"},{"name":"org.cyclonedx.bom","old_version":"2.2.0","new_version":"3.0.0"},{"name":"com.github.ben-manes.versions","old_version":"0.52.0","new_version":"0.53.0"},{"name":"net.ltgt.errorprone","old_version":"4.1.0","new_version":"4.3.0"},{"name":"io.freefair.lombok","old_version":"8.12.2","new_version":"9.0.0","repository_url":"https://github.com/freefair/gradle-plugins"},{"name":"org.sonarqube","old_version":"4.3.0.3225","new_version":"6.3.1.5724"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 50 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.36.0` | `2.42.0` |\n| [biz.aQute.bnd:biz.aQute.bnd.annotation](https://github.com/bndtools/bnd) | `6.4.1` | `7.1.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.2` | `1.21.2` |\n| [com.infradna.tool:bridge-method-annotation](https://github.com/infradna/bridge-method-injector) | `1.18` | `1.24` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.303` | `1.330` |\n| [com.github.spotbugs:spotbugs-annotations](https://github.com/spotbugs/spotbugs) | `3.1.12` | `4.9.6` |\n| org.apache.commons:commons-collections4 | `4.4` | `4.5.0` |\n| [org.apache.commons:commons-csv](https://github.com/apache/commons-csv) | `1.10.0` | `1.14.1` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.16.1` | `2.20.0` |\n| [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `2.19.1` | `2.20.0` |\n| [org.datanucleus:datanucleus-accessplatform-jdo-rdbms](https://github.com/datanucleus/datanucleus-accessplatform) | `6.0.7` | `6.0.10` |\n| [org.flywaydb:flyway-core](https://github.com/flyway/flyway) | `9.22.3` | `11.13.2` |\n| [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) | `3.45.3.0` | `3.50.3.0` |\n| [de.sstoehr:har-reader](https://github.com/sdstoehr/har-reader) | `3.1.4` | `3.1.6` |\n| [io.hektor:hektor-fsm](https://github.com/sniceio/hektor) | `0.0.5` | `0.0.8` |\n| [com.github.curious-odd-man:rgxgen](https://github.com/curious-odd-man/RgxGen) | `2.0` | `3.1` |\n| [com.natpryce:snodge](https://github.com/npryce/snodge) | `2.1.2.2` | `3.7.0.0` |\n| [org.codehaus.groovy:groovy-all](https://github.com/apache/groovy) | `3.0.14` | `3.0.25` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.61.1` | `1.75.0` |\n| org.jruby:jruby-complete | `1.7.4` | `9.4.14.0` |\n| [org.python:jython-standalone](https://github.com/jython/jython) | `2.7.2` | `2.7.4` |\n| [dev.langchain4j:langchain4j](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-azure-open-ai](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-ollama](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [org.htmlunit:htmlunit-csp](https://github.com/HtmlUnit/htmlunit-csp) | `4.0.0` | `4.16.0` |\n| [com.google.re2j:re2j](https://github.com/google/re2j) | `1.7` | `1.8` |\n| [org.xhtmlrenderer:flying-saucer-pdf](https://github.com/flyingsaucerproject/flyingsaucer) | `9.3.1` | `9.13.3` |\n| org.thymeleaf:thymeleaf | `3.1.2.RELEASE` | `3.1.3.RELEASE` |\n| org.glassfish.jaxb:jaxb-runtime | `2.3.2` | `4.0.6` |\n| [net.bytebuddy:byte-buddy](https://github.com/raphw/byte-buddy) | `1.14.13` | `1.17.7` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.19.0` |\n| [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.36.0` |\n| [jakarta.xml.soap:jakarta.xml.soap-api](https://github.com/jakartaee/saaj-api) | `3.0.0` | `3.0.2` |\n| com.sun.xml.messaging.saaj:saaj-impl | `3.0.0` | `3.0.4` |\n| [com.predic8:soa-model-core](https://github.com/membrane/soa-model) | `2.0.1` | `2.2.0` |\n| [io.kaitai:kaitai-struct-runtime](https://github.com/kaitai-io/kaitai_struct_java_runtime) | `0.10` | `0.11` |\n| org.slf4j:jcl-over-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:jul-to-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:slf4j-log4j12 | `1.7.32` | `2.0.17` |\n| [org.hamcrest:hamcrest-library](https://github.com/hamcrest/JavaHamcrest) | `2.2` | `3.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.10.2` | `6.0.0` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.10.0` | `5.20.0` |\n| [io.github.bonigarcia:selenium-jupiter](https://github.com/bonigarcia/selenium-jupiter) | `5.1.1` | `6.3.1` |\n| [io.github.bonigarcia:webdrivermanager](https://github.com/bonigarcia/webdrivermanager) | `5.7.0` | `6.3.2` |\n| [com.github.weisj:jsvg](https://github.com/weisJ/jsvg) | `1.4.0` | `2.0.0` |\n| org.cyclonedx.bom | `2.2.0` | `3.0.0` |\n| com.github.ben-manes.versions | `0.52.0` | `0.53.0` |\n| net.ltgt.errorprone | `4.1.0` | `4.3.0` |\n| [io.freefair.lombok](https://github.com/freefair/gradle-plugins) | `8.12.2` | `9.0.0` |\n| org.sonarqube | `4.3.0.3225` | `6.3.1.5724` |\n\nUpdates `com.google.errorprone:error_prone_core` from 2.36.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.42.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExplicitArrayForVarargs\"\u003e\u003ccode\u003eExplicitArrayForVarargs\u003c/code\u003e\u003c/a\u003e: discourage unnecessary explicit construction of an array to provide varargs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/FloggerPerWithoutRateLimit\"\u003e\u003ccode\u003eFloggerPerWithoutRateLimit\u003c/code\u003e\u003c/a\u003e: discourage Flogger's \u003ccode\u003eperUnique\u003c/code\u003e without rate limiting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/StringJoin\"\u003e\u003ccode\u003eStringJoin\u003c/code\u003e\u003c/a\u003e: Ban \u003ccode\u003eString.join(CharSequence)\u003c/code\u003e and \u003ccode\u003eString.join(CharSequence, CharSequence)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThreadBuilderNameWithPlaceholder\"\u003e\u003ccode\u003eThreadBuilderNameWithPlaceholder\u003c/code\u003e\u003c/a\u003e: Do not allow placeholders in \u003ccode\u003eThread.Builder.name(String)\u003c/code\u003e or \u003ccode\u003ename(String, int)\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe return type of \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e has changed. The previous type was \u003ccode\u003eEnumSet\u0026lt;Flags.Flag\u0026gt;\u003c/code\u003e, where \u003ccode\u003eFlags.Flag\u003c/code\u003e is an enum in the javac class \u003ccode\u003eFlags\u003c/code\u003e. A recent JDK change has replaced that enum with a new top-level enum called \u003ccode\u003eFlagsEnum\u003c/code\u003e. It is not possible to change \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e in a way that would be type-safe and compatible with the enums from JDKs both before and after the change. Instead, the method now returns \u003ccode\u003eImmutableSet\u0026lt;String\u0026gt;\u003c/code\u003e, where the strings come from the \u003ccode\u003etoString()\u003c/code\u003e of the enum constants. That means they are \u003ccode\u003e\u0026quot;native\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;abstract\u0026quot;\u003c/code\u003e, etc.\u003c/li\u003e\n\u003cli\u003eFlag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ca href=\"https://errorprone.info/bugpattern/SystemOut\"\u003e\u003ccode\u003eSystemOut\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.41.0...v2.42.0\"\u003ehttps://github.com/google/error-prone/compare/v2.41.0...v2.42.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.41.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/EffectivelyPrivate\"\u003eEffectivelyPrivate\u003c/a\u003e: Detect declarations that have \u003ccode\u003epublic\u003c/code\u003e or \u003ccode\u003eprotected\u003c/code\u003e modifiers, but are effectively private\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip BooleanLiteral findings if the target type is boxed (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5134\"\u003e#5134\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.40.0...v2.41.0\"\u003ehttps://github.com/google/error-prone/compare/v2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.40.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and improvements\u003c/li\u003e\n\u003cli\u003eReleases (including snapshots) have migrated from \u003ca href=\"https://central.sonatype.org/pages/ossrh-eol/#process-to-migrate\"\u003eOSSRH to the Central Publisher Portal\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.39.0...v2.40.0\"\u003ehttps://github.com/google/error-prone/compare/v2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.39.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTemporarily downgrade to Guava 33.4.0 (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5108\"\u003e#5108\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChecks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BooleanLiteral\"\u003e\u003ccode\u003eBooleanLiteral\u003c/code\u003e\u003c/a\u003e: Prefer \u003ccode\u003etrue\u003c/code\u003e to \u003ccode\u003eBoolean.TRUE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExpensiveLenientFormatString\"\u003e\u003ccode\u003eExpensiveLenientFormatString\u003c/code\u003e\u003c/a\u003e: Renamed from \u003ccode\u003ePreconditionsExpensiveString\u003c/code\u003e, detects unnecessary calls to \u003ccode\u003eString.format\u003c/code\u003e in the arguments of lenient formatting methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/UnnecessaryQualifier\"\u003e\u003ccode\u003eUnnecessaryQualifier\u003c/code\u003e\u003c/a\u003e: Detects \u003ccode\u003e@Qualifier\u003c/code\u003e or \u003ccode\u003e@BindingAnnotation\u003c/code\u003e annotations that have no effect, and can be removed\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/4996\"\u003e#4996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5045\"\u003e#5045\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.38.0...v2.39.0\"\u003ehttps://github.com/google/error-prone/compare/v2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.38.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/google/error-prone/commit/52b61801ceacc31be26261a14e4eb95bee68cdd8\"\u003e\u003ccode\u003e52b6180\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/691c64a24ac430fa26a69ff3ae62fdba0346e0df\"\u003e\u003ccode\u003e691c64a\u003c/code\u003e\u003c/a\u003e Flag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ccode\u003eSystemOut\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/0b751cd69ac278d63686a776cd55a067b7bff7ae\"\u003e\u003ccode\u003e0b751cd\u003c/code\u003e\u003c/a\u003e ExpicitArrayForVarargs: flag unnecessary explicit construction of an array to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/982fe208c273cc82e838efbbc9c001b857cd239e\"\u003e\u003ccode\u003e982fe20\u003c/code\u003e\u003c/a\u003e Tweak links to point to newer versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a2df97f0d3842e1d45f26bf085a3a95f273346be\"\u003e\u003ccode\u003ea2df97f\u003c/code\u003e\u003c/a\u003e [StatementSwitchToExpressionSwitch] fix bug where \u003ccode\u003ecase null\u003c/code\u003e can sometimes b...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/e691be588c891d4fc10cb41f019960accd21db2d\"\u003e\u003ccode\u003ee691be5\u003c/code\u003e\u003c/a\u003e Fix (behind a flag) a silly bug in RedundantSetterCall.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/ce1a422f3f92a9a9c6434a9e0e00df5ce9877df2\"\u003e\u003ccode\u003ece1a422\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eDurations.wait()\u003c/code\u003e to \u003ccode\u003eWaitMatchers.waitMethodWithTimeout\u003c/code\u003e (and make them...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da03fea47dd31b1a63932d78f3d91fb383cce8d1\"\u003e\u003ccode\u003eda03fea\u003c/code\u003e\u003c/a\u003e Update MethodCanBeStatic to be able to detect and trigger on Guice \u003ca href=\"https://github.com/Provides\"\u003e\u003ccode\u003e@​Provides\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/83e6582d6333d2e2d5e5f2f279c630d54ae65fae\"\u003e\u003ccode\u003e83e6582\u003c/code\u003e\u003c/a\u003e RedundantSetterCall: note that setFooValue and setFooBytes can be aliases for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/db62c8c27ec5984058788547958f2f7c8d1bee95\"\u003e\u003ccode\u003edb62c8c\u003c/code\u003e\u003c/a\u003e Automated rollback of commit e1b16e24461d90f2b11f8213a68bfccc0426d4f3.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.36.0...v2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `biz.aQute.bnd:biz.aQute.bnd.annotation` from 6.4.1 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/bndtools/bnd/releases\"\u003ebiz.aQute.bnd:biz.aQute.bnd.annotation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBnd/Bndtools 7.1.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.1.0\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBnd/Bndtools 7.0.0\u003c/h2\u003e\n\u003cp\u003eThis is the first release on Java 17.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.0.0\"\u003eRelease Notes\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/bndtools/bnd/commit/47e504d7881ba466703c55a8dca7b0578561582d\"\u003e\u003ccode\u003e47e504d\u003c/code\u003e\u003c/a\u003e Build Release 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/c3ff1490e5a2d72336e28920711ec0d024c4a801\"\u003e\u003ccode\u003ec3ff149\u003c/code\u003e\u003c/a\u003e build: Build release 7.1.0.RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/2fc3187b1be2e04e78e4056b6c2efae406646b5b\"\u003e\u003ccode\u003e2fc3187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6363\"\u003e#6363\u003c/a\u003e from laeubi/process_with_conditional_package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/cd347e1202077e625bbdd5dadc158adb49e504db\"\u003e\u003ccode\u003ecd347e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6365\"\u003e#6365\u003c/a\u003e from bndtools/dependabot/github_actions/ruby/setup-r...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/9aa57efecc7e026646e279307d23ea5edb089e57\"\u003e\u003ccode\u003e9aa57ef\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.201.0 to 1.202.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/ec0fea78a246e66430db06e0e8ad0423ffb59dc2\"\u003e\u003ccode\u003eec0fea7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6361\"\u003e#6361\u003c/a\u003e from bndtools/dependabot/github_actions/github/codeq...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/396262634e86aad490df4b43150f3c903c60973f\"\u003e\u003ccode\u003e3962626\u003c/code\u003e\u003c/a\u003e Add testcase for conditional packages with bnd-process\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/fe9a874b3be6e6c2d86625afa55985d1b89c6199\"\u003e\u003ccode\u003efe9a874\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.27.0 to 3.27.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/e3c95f878d3266b872d5ce3ea81b07e8a99e3f8e\"\u003e\u003ccode\u003ee3c95f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6360\"\u003e#6360\u003c/a\u003e from pkriens/issue/6346-gradle-reference-to-project-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/aac92718e6b5021548ff6782871a1841f041eee5\"\u003e\u003ccode\u003eaac9271\u003c/code\u003e\u003c/a\u003e Added a method to get the Macro references from a Processor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bndtools/bnd/compare/6.4.1...7.1.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.17.2 to 1.21.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup 1.21.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.2\u003c/strong\u003e is out now, adding support for custom \u003ccode\u003eSSLContext\u003c/code\u003e in HTTP/2 connections, and improving consistency in how user data is handled in attributes. It also brings performance gains in DOM manipulation and fragment parsing, and fixes several edge cases in stream parsing, traversal, cloning, and concurrent reads.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ejsoup 1.21.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.1\u003c/strong\u003e is out now, featuring powerful new node selection capabilities that let you target specific DOM nodes like comments and text nodes using CSS selectors, dynamic tag customization through the new TagSet callback system, and improved defense against mutation XSS attacks with simplified attribute escaping. This release also brings HTTP/2 support by default, numerous API improvements for better developer experience, and fixes for several edge-case parsing issues.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; type)\u003c/code\u003e method instead. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull(Object)\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull(T)\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; nodeType)\u003c/code\u003e for direct node selection. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2330\"\u003e#2330\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection.Response#readBody()\u003c/code\u003e over \u003ccode\u003eConnection.Response#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\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\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.21.2 (2025-Aug-25)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.1 (2025-Jun-23)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class type)\u003c/code\u003e method instead. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class nodeType)\u003c/code\u003e for direct node selection. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace).\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection#readBody()\u003c/code\u003e over \u003ccode\u003eConnection#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe contents of a \u003ccode\u003escript\u003c/code\u003e in a \u003ccode\u003esvg\u003c/code\u003e foreign context should be parsed as script data, not text. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2320\"\u003e#2320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTag#isFormSubmittable()\u003c/code\u003e was updating the Tag's options. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2323\"\u003e#2323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML pretty-printer would incorrectly trim whitespace when text followed an inline element in a block element. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2325\"\u003e#2325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom tags with hyphens or other non-letter characters in their names now work correctly as Data or RcData tags. Their closing tags are now tokenized properly. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2332\"\u003e#2332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen cloning an Element, the clone would retain the source's cached child Element list (if any), which could lead to incorrect results when modifying the clone's child elements. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2334\"\u003e#2334\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/b02837b6c77b94799c055f8fa446fb770bfb49f1\"\u003e\u003ccode\u003eb02837b\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.21.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1f0c2070e78b5d171c4e5896930c612c58474608\"\u003e\u003ccode\u003e1f0c207\u003c/code\u003e\u003c/a\u003e v1.21.2 release date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/b0934637750ed6ddd91bf344842c8c5aad1fb70f\"\u003e\u003ccode\u003eb093463\u003c/code\u003e\u003c/a\u003e Use central-publishing-maven-plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/615b9592ffe8e65b4e461f7727081995931154ce\"\u003e\u003ccode\u003e615b959\u003c/code\u003e\u003c/a\u003e Updating sonatype deploy URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/69617205f80df06acf2adb38fd8a19f3724b6845\"\u003e\u003ccode\u003e6961720\u003c/code\u003e\u003c/a\u003e Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2386\"\u003e#2386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/82864b246c0005cc66a50daede3568f930504030\"\u003e\u003ccode\u003e82864b2\u003c/code\u003e\u003c/a\u003e Bump jetty.version from 9.4.57.v20241219 to 9.4.58.v20250814 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2385\"\u003e#2385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/71f963ea3a78746fc2a3ba80b2843254b35c211a\"\u003e\u003ccode\u003e71f963e\u003c/code\u003e\u003c/a\u003e Fix for HTML that breaks the select scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/6b20f6e3d158d1ce3147c4e9306d9b485e083bf4\"\u003e\u003ccode\u003e6b20f6e\u003c/code\u003e\u003c/a\u003e Removed effective recursion closing \u003ccode\u003e\\\u0026lt;/select\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/eb2957a8b3e8c12649c5b83872a238dd74e68dec\"\u003e\u003ccode\u003eeb2957a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2382\"\u003e#2382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/3a9a6c7c8a67d51ebbb598495496e28dcd0c18e1\"\u003e\u003ccode\u003e3a9a6c7\u003c/code\u003e\u003c/a\u003e Fix ProxyTest in CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.17.2...jsoup-1.21.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.infradna.tool:bridge-method-annotation` from 1.18 to 1.24\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/90b05fc5d86b8e9362bbb31ccc37b28abdc67e52\"\u003e\u003ccode\u003e90b05fc\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1e3123cf4feaa612e6aa77ccf1a12cfd61a473a9\"\u003e\u003ccode\u003e1e3123c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/29\"\u003e#29\u003c/a\u003e from basil/asm-9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/c89b1025f3a4808e3d03a8a84b3f4ece06b96bf1\"\u003e\u003ccode\u003ec89b102\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.2 to 9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a60c63572dbb7a1d1aa91b5fbb0866517db88836\"\u003e\u003ccode\u003ea60c635\u003c/code\u003e\u003c/a\u003e Replaced by README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/8a5b5e9c6d5036aa492e43d3552b40cba07e5d8b\"\u003e\u003ccode\u003e8a5b5e9\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/677782c5cd7b3df04755b6f515c184748b019770\"\u003e\u003ccode\u003e677782c\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/jenkinsci/bridge-method-injector/commit/4682998f65e92142b9b3b185c63eb40ea0ed8c07\"\u003e\u003ccode\u003e4682998\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a2c094ff373921db7d71551d8f3fcd868c56e467\"\u003e\u003ccode\u003ea2c094f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/27\"\u003e#27\u003c/a\u003e from basil/asm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/cd1a8efd21354ac75447e338eee3298b7aa2386a\"\u003e\u003ccode\u003ecd1a8ef\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.0 to 9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1567095d18f443e5cbeb4593520f6fc0345b32fb\"\u003e\u003ccode\u003e1567095\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/infradna/bridge-method-injector/compare/bridge-method-injector-parent-1.18...bridge-method-injector-parent-1.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.kohsuke:github-api` from 1.303 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.303...github-api-1.330\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.spotbugs:spotbugs-annotations` from 3.1.12 to 4.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spotbugs/spotbugs/releases\"\u003ecom.github.spotbugs:spotbugs-annotations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.6\u003c/h2\u003e\n\u003cp\u003eSpotBugs 4.9.6\u003c/p\u003e\n\u003ch3\u003eCHANGELOG\u003c/h3\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e method calls (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCHECKSUM\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003efile\u003c/th\u003e\n\u003cth\u003echecksum (sha256)\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003eb4b9373ad6f22ad2547a8274501f87b01e2428c30aabaea3aeec3f9095636e24\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e89687b6e685c9a07f7faf49f29b832fb861884f2160947eb4396498cdbb33cc4\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6.tgz\u003c/td\u003e\n\u003ctd\u003e55aa9b9e3deef0391be285335dcf134d1ce54aae222bba1da757eaa616108957\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6.zip\u003c/td\u003e\n\u003ctd\u003e86fb3f93c4147383f76fe21ab2807956b34cf17108a42a76311efa4977f952cc\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e4c9f8027f6a2313ef22347f4832e5dccc9c58d350d1bd5bff4d5a53f37e1c220\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e075b2eed660c2fe2fb1ad1de028f8fdff5f358e25c1318706b95ab17bb28be44\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations.jar\u003c/td\u003e\n\u003ctd\u003e523d394a6b36174ad0a22f0c1c75b105ccff42869a8b7ce86e7fd339ca6f86ce\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e9b510af8cd3a5c62560fe544b730ebf44cbb109e085fe526add155258612273c\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e91477d93b1fd1bebae35d318427b5238fb458e726478dc1a8ac41ce74838a1e6\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant.jar\u003c/td\u003e\n\u003ctd\u003e22f2fa397e86663adcd4828cc1c91e63aa6cc2bfc56832885b749a86fac5c784\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs.jar\u003c/td\u003e\n\u003ctd\u003e62a0def31899338200fc9013b4db8a8aedfc3536ca7d70d59038b092dfaa6819\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003ebdcef7587312fb9a85d0d292623ea1a779bfe8b9a5e321d73bb8ad92ce79ed0a\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e805d2d124b0d4ea513ee9262d4ad6027c3471d45defd80fd7d20e23425d17df7\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e0076a3bc9602c78d73edb048e625a96ee6a182fa3dd39300aa739af67b954189\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e7d7a7d6944e7199e06384104b163c11145ed60dd567fefd9b788f3ac03770e18\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e656579431db1b2714faeeca3c3d59426e2ffdfdb0725546b4090f993d2413eeb\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e66db286ae1dd056458c1e0303a8e2f81fe95a2c5d2888172a3ed17e993434bf1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e8925836d7d1198ec223c4ff5118fd596278df4157d910eb767f7f312a7df8904\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e59bbb8581ed4bdd212a669d94ec363b6c1d6df9276a608359c66d7f0c1688279\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e0582a99bdc66e24c7e36753014729149189fd27129ec5a2f38a8d67457bc9696\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSpotBugs 4.9.5\u003c/h2\u003e\n\u003ch3\u003eCHANGELOG\u003c/h3\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix for an error when a record method has the \u003ccode\u003e@SuppressFBWarnings\u003c/code\u003e annotation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3622\"\u003e#3622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSF_SWITCH_FALLTHROUGH\u003c/code\u003e false positive when continuing a loop (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCWO_CLOSED_WITHOUT_OPENED\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSF_SWITCH_NO_DEFAULT\u003c/code\u003e false positive fix for switch-arrow (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the issue with BCEL logging \u003ccode\u003eDuplicating value: ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing jakarta support for servlets / pre/post destroy (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3694\"\u003e#3694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'java.nio.file.Path.of' to known types for path traversal checks (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3699\"\u003e#3699\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCleanup\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eS1481: Unused local variables should be removed (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3654\"\u003e#3654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved test libraries to jakarta namespace including switching off jsr305 where possible for jakarta.annotatoin (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3695\"\u003e#3695\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCHECKSUM\u003c/h3\u003e\n\u003cp\u003e| file | checksum (sha256) |\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/spotbugs/spotbugs/blob/master/CHANGELOG.md\"\u003ecom.github.spotbugs:spotbugs-annotations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.6 - 2025-09-16\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e method calls (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.5 - 2025-09-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix for an error when a record method has the \u003ccode\u003e@SuppressFBWarnings\u003c/code\u003e annotation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3622\"\u003e#3622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSF_SWITCH_FALLTHROUGH\u003c/code\u003e false positive when continuing a loop (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCWO_CLOSED_WITHOUT_OPENED\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSF_SWITCH_NO_DEFAULT\u003c/code\u003e false positive fix for switch-arrow (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the issue with BCEL logging \u003ccode\u003eDuplicating value: ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing jakarta support for servlets / pre/post destroy (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3694\"\u003e#3694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'java.nio.file.Path.of' to known types for path traversal checks (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3699\"\u003e#3699\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCleanup\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eS1481: Unused local variables should be removed (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3654\"\u003e#3654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved test libraries to jakarta namespace including switching off jsr305 where possible for jakarta.annotatoin (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3695\"\u003e#3695\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.4 - 2025-08-07\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAnnotationMatcher\u003c/code\u003e can now ignore bugs if annotation is also applied on methods or fields. Previously only annotations on classes were considered.\u003c/li\u003e\n\u003cli\u003eAdd relevant CWE ids to bugs and refer the CWEs in the bug messages (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3354\"\u003e#3354\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eLOCAL_VARIABLE_UNKNOWN\u003c/code\u003e with exact method name for \u003ccode\u003eNP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3485\"\u003e#3485\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWiden main method recognition according to \u003ca href=\"https://openjdk.org/jeps/445\"\u003eJEP 445\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3371\"\u003e#3371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eUS_USELESS_SUPPRESSION_ON_*\u003c/code\u003e on methods, fields, parameters, packages or classes with an \u003ccode\u003e*.Generated\u003c/code\u003e annotation with retention \u0026gt;= class (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3350\"\u003e#3350\u003c/a\u003e)(\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3409\"\u003e#3409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRewrite some member in \u003ccode\u003eResourceValueFrame.java\u003c/code\u003e to Enum (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/2061\"\u003e#2061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore non-interpreted text when looking for \u003ccode\u003eFS_BAD_DATE_FORMAT_FLAG_COMBO\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3387\"\u003e#3387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix IllegalArgumentException thrown from \u003ccode\u003eFindNoSideEffectMethods\u003c/code\u003e detector (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3320\"\u003e#3320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eRV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT\u003c/code\u003e when part of a Mockito \u003ccode\u003edoAnswer()\u003c/code\u003e, \u003ccode\u003edoCallRealMethod()\u003c/code\u003e, \u003ccode\u003edoNothing()\u003c/code\u003e, \u003ccode\u003edoThrow()\u003c/code\u003e or \u003ccode\u003edoReturn()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3334\"\u003e#3334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eCT_CONSTRUCTOR_THROW\u003c/code\u003e false positive with public and private constructors in specific order of methods (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3417\"\u003e#3417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e, \u003ccode\u003eAT_NONATOMIC_64BIT_PRIMITIVE\u003c/code\u003e and \u003ccode\u003eAT_STALE_THREAD_WRITE_OF_PRIMITIVE\u003c/code\u003e FP when the relevant code is in private method, which is only called with proper synchronization (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3428\"\u003e#3428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eRV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT\u003c/code\u003e when part of a BDDMockito call (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3441\"\u003e#3441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e when field of a local variable is set. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3459\"\u003e#3459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eAT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE\u003c/code\u003e FP when there was no compound operation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3363\"\u003e#3363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eNM_FIELD_NAMING_CONVENTION\u003c/code\u003e crash in the TestASM detector (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3489\"\u003e#3489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report \u003ccode\u003eUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR\u003c/code\u003e for fields initialized in JUnit 3/4 \u003ccode\u003esetUp()\u003c/code\u003e method. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3169\"\u003e#3169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eUS_USELESS_SUPPRESSION_ON_FIELD\u003c/code\u003e/\u003ccode\u003eUUF_UNUSED_FIELD\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3496\"\u003e#3496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake the osgi manifest of the annotations jar Java 8 compatible  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3498\"\u003e#3498\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3500\"\u003e#3500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTextUICommandLine\u003c/code\u003e supports all options encoded in Eclipse preferences file (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3520\"\u003e#3520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUnnecessary suppressions fix for records headers (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3471\"\u003e#3471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDead store fix when switch case contains loops  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3530\"\u003e#3530\u003c/a\u003e)  (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3449\"\u003e#3449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider PUTFIELD and PUTSTATIC when looking for assertions with side effects (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3463\"\u003e#3463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect cases when equals() unconditionally returns true or false (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3528\"\u003e#3528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not report that an Iterator does not throw \u003ccode\u003eNoSuchElementException\u003c/code\u003e when \u003ccode\u003ehasNext()\u003c/code\u003e returns true (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3501\"\u003e#3501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect random value cast to int when stored in temporary variable (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3461\"\u003e#3461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLook for interfaces default methods when searching uncalled private methods (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/1988\"\u003e#1988\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/spotbugs/spotbugs/commit/aa3a737bc82090dd8060524fe3e2498350e7cfd7\"\u003e\u003ccode\u003eaa3a737\u003c/code\u003e\u003c/a\u003e release v4.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/7d37faa40ea11e119272f9ce1fc85428ed3c85b4\"\u003e\u003ccode\u003e7d37faa\u003c/code\u003e\u003c/a\u003e chore(build): Temporarily remove the publish part\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/923f053467d889fdb2dcfbfb95b868458a6e2961\"\u003e\u003ccode\u003e923f053\u003c/code\u003e\u003c/a\u003e chore(docs): Minor syntax\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/d662709773b1c1974f4582de2f278f497ce2b59d\"\u003e\u003ccode\u003ed662709\u003c/code\u003e\u003c/a\u003e chore(build): Rework the bin/hub to gh replacement\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/95470b84584a2652593d8a93c601c0a6d8577733\"\u003e\u003ccode\u003e95470b8\u003c/code\u003e\u003c/a\u003e prepare for next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/71e370669e8798898fe4214b0ec30ccb1d31aafb\"\u003e\u003ccode\u003e71e3706\u003c/code\u003e\u003c/a\u003e release v4.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/68013c09022410cf67a2eb1c2f50164925cbe431\"\u003e\u003ccode\u003e68013c0\u003c/code\u003e\u003c/a\u003e chore(Build): Rename as yaml extensions, use gh, and update conf versions (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/9f0ec1211acac3218e3a733bad55ce2c2337541e\"\u003e\u003ccode\u003e9f0ec12\u003c/code\u003e\u003c/a\u003e chore: Use proper import (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3716\"\u003e#3716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/6f81754c8548c2da9200773ed15e4bb142f18417\"\u003e\u003ccode\u003e6f81754\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin com.gradle.develocity to v4.2 (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3714\"\u003e#3714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spotbugs/spotbugs/commit/1f1fd68eda09bd93f0ad65611a5d2bfe503f6121\"\u003e\u003ccode\u003e1f1fd68\u003c/code\u003e\u003c/a\u003e Fix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spotbugs/spotbugs/compare/3.1.12...4.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.commons:commons-collections4` from 4.4 to 4.5.0\n\nUpdates `org.apache.commons:commons-csv` from 1.10.0 to 1.14.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-csv/blob/master/RELEASE-NOTES.txt\"\u003eorg.apache.commons:commons-csv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons CSV 1.14.1 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons CSV team is pleased to announce the release of Apache Commons CSV 1.14.1.\u003c/p\u003e\n\u003cp\u003eThis document contains the release notes for the 1.14.1 version of Apache Commons CSV.\nCommons CSV reads and writes files in Comma Separated Value (CSV) format variations.\u003c/p\u003e\n\u003cp\u003eCommons CSV requires at least Java 8.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003cp\u003eChanges in this version include:\u003c/p\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCSV-318:  CSVPrinter.printRecord(Stream) hangs if given a parallel stream. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCSV-318:  CSVPrinter now uses an internal lock instead of synchronized methods. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      org.apache.commons.csv.CSVPrinter.printRecords(ResultSet) now writes one record at a time using a lock. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-parent from 81 to 85 [#542](https://github.com/apache/commons-csv/issues/542). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-io:commons-io from 2.18.0 to 2.20.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump com.opencsv:opencsv from 5.10 to 5.11.2 [#545](https://github.com/apache/commons-csv/issues/545), [#551](https://github.com/apache/commons-csv/issues/551), [#553](https://github.com/apache/commons-csv/issues/553). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 [#556](https://github.com/apache/commons-csv/issues/556). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-codec:commons-codec from 1.18.0 to 1.19.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHistorical list of changes: \u003ca href=\"https://commons.apache.org/proper/commons-csv/changes.html\"\u003ehttps://commons.apache.org/proper/commons-csv/changes.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFor complete information on Apache Commons CSV, including instructions on how to submit bug reports,\npatches, or suggestions for improvement, see the Apache Commons CSV website:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://commons.apache.org/proper/commons-csv/\"\u003ehttps://commons.apache.org/proper/commons-csv/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDownload page: \u003ca href=\"https://commons.apache.org/proper/commons-csv/download_csv.cgi\"\u003ehttps://commons.apache.org/proper/commons-csv/download_csv.cgi\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eHave fun!\n-Apache Commons CSV team\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eApache Commons CSV 1.14.0 Release Notes\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/apache/commons-csv/commit/e14ef86d34211f9d1b9b6040c5f6dbafc93ba907\"\u003e\u003ccode\u003ee14ef86\u003c/code\u003e\u003c/a\u003e Ignore macOS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/d8724bf76a7d6abbb93aad65e316f050f86a256d\"\u003e\u003ccode\u003ed8724bf\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.14.1 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b76971c25af176f901c003b25d6a5f4f6edc87ad\"\u003e\u003ccode\u003eb76971c\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b66814ef248186b7a8316b85e1208c705dba06e3\"\u003e\u003ccode\u003eb66814e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/apache/commons-csv/issues/557\"\u003e#557\u003c/a\u003e from apache/dependabot/github_actions/github/codeql-a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/9c95e92d6aaa4d052a139158a900395646c6652e\"\u003e\u003ccode\u003e9c95e92\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.29.2 to 3.29.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/1fb37163f9fe59aa13c63efd53e71d7a0392be4c\"\u003e\u003ccode\u003e1fb3716\u003c/code\u003e\u003c/a\u003e Bump commons-codec:commons-codec from 1.18.0 to 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/7b72c509f73e05ca2bf2f0945a6a1cb03f87bd39\"\u003e\u003ccode\u003e7b72c50\u003c/code\u003e\u003c/a\u003e Merge some string literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/96583732b6be55d459a5b430c4a3a3bb2126db10\"\u003e\u003ccode\u003e9658373\u003c/code\u003e\u003c/a\u003e Update the GitHub pull request template for AI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/67192a9e0af58bdf49edf4e0d29f50343da82c70\"\u003e\u003ccode\u003e67192a9\u003c/code\u003e\u003c/a\u003e Bump commons-io:commons-io from 2.19.0 to 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/59164c8b795ebd4cc0362c4c74d7c893c4a5030...\n\n_Description has been truncated_","html_url":"https://github.com/ricekot/zap-extensions/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricekot%2Fzap-extensions/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"}},{"old_version":"1.303","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2025-10-03T14:10:34.000Z","version_change":"1.303 → 1.330","issue":{"uuid":"2885107903","node_id":"PR_kwDODf4ejs6r90C_","number":8,"state":"open","title":"build(deps): bump the gradle-minor-patch-updates group with 30 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-03T14:10:34.000Z","updated_at":"2025-10-03T14:10:35.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle-minor-patch-updates","update_count":30,"packages":[{"name":"com.google.errorprone:error_prone_core","old_version":"2.36.0","new_version":"2.42.0","repository_url":"https://github.com/google/error-prone"},{"name":"commons-codec:commons-codec","old_version":"1.15","new_version":"1.19.0","repository_url":"https://github.com/apache/commons-codec"},{"name":"org.jsoup:jsoup","old_version":"1.17.2","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.infradna.tool:bridge-method-annotation","old_version":"1.18","new_version":"1.24","repository_url":"https://github.com/infradna/bridge-method-injector"},{"name":"org.kohsuke:github-api","old_version":"1.303","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"org.apache.commons:commons-collections4","old_version":"4.4","new_version":"4.5.0"},{"name":"org.apache.commons:commons-csv","old_version":"1.10.0","new_version":"1.14.1","repository_url":"https://github.com/apache/commons-csv"},{"name":"commons-io:commons-io","old_version":"2.16.1","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.fasterxml.jackson:jackson-bom","old_version":"2.19.1","new_version":"2.20.0","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.datanucleus:datanucleus-accessplatform-jdo-rdbms","old_version":"6.0.7","new_version":"6.0.10","repository_url":"https://github.com/datanucleus/datanucleus-accessplatform"},{"name":"org.xerial:sqlite-jdbc","old_version":"3.45.3.0","new_version":"3.50.3.0","repository_url":"https://github.com/xerial/sqlite-jdbc"},{"name":"de.sstoehr:har-reader","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/sdstoehr/har-reader"},{"name":"io.hektor:hektor-fsm","old_version":"0.0.5","new_version":"0.0.8","repository_url":"https://github.com/sniceio/hektor"},{"name":"org.codehaus.groovy:groovy-all","old_version":"3.0.14","new_version":"3.0.25","repository_url":"https://github.com/apache/groovy"},{"name":"io.grpc:grpc-protobuf","old_version":"1.61.1","new_version":"1.75.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"org.python:jython-standalone","old_version":"2.7.2","new_version":"2.7.4","repository_url":"https://github.com/jython/jython"},{"name":"org.htmlunit:htmlunit-csp","old_version":"4.0.0","new_version":"4.16.0","repository_url":"https://github.com/HtmlUnit/htmlunit-csp"},{"name":"com.google.re2j:re2j","old_version":"1.7","new_version":"1.8","repository_url":"https://github.com/google/re2j"},{"name":"org.xhtmlrenderer:flying-saucer-pdf","old_version":"9.3.1","new_version":"9.13.3","repository_url":"https://github.com/flyingsaucerproject/flyingsaucer"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.2.RELEASE","new_version":"3.1.3.RELEASE"},{"name":"net.bytebuddy:byte-buddy","old_version":"1.14.13","new_version":"1.17.7","repository_url":"https://github.com/raphw/byte-buddy"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.19.0"},{"name":"org.seleniumhq.selenium:selenium-java","old_version":"4.35.0","new_version":"4.36.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"jakarta.xml.soap:jakarta.xml.soap-api","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/jakartaee/saaj-api"},{"name":"com.sun.xml.messaging.saaj:saaj-impl","old_version":"3.0.0","new_version":"3.0.4"},{"name":"com.predic8:soa-model-core","old_version":"2.0.1","new_version":"2.2.0","repository_url":"https://github.com/membrane/soa-model"},{"name":"io.kaitai:kaitai-struct-runtime","old_version":"0.10","new_version":"0.11","repository_url":"https://github.com/kaitai-io/kaitai_struct_java_runtime"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.10.0","new_version":"5.20.0","repository_url":"https://github.com/mockito/mockito"},{"name":"com.github.ben-manes.versions","old_version":"0.52.0","new_version":"0.53.0"},{"name":"net.ltgt.errorprone","old_version":"4.1.0","new_version":"4.3.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-minor-patch-updates group with 30 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.36.0` | `2.42.0` |\n| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.15` | `1.19.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.2` | `1.21.2` |\n| [com.infradna.tool:bridge-method-annotation](https://github.com/infradna/bridge-method-injector) | `1.18` | `1.24` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.303` | `1.330` |\n| org.apache.commons:commons-collections4 | `4.4` | `4.5.0` |\n| [org.apache.commons:commons-csv](https://github.com/apache/commons-csv) | `1.10.0` | `1.14.1` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.16.1` | `2.20.0` |\n| [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `2.19.1` | `2.20.0` |\n| [org.datanucleus:datanucleus-accessplatform-jdo-rdbms](https://github.com/datanucleus/datanucleus-accessplatform) | `6.0.7` | `6.0.10` |\n| [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) | `3.45.3.0` | `3.50.3.0` |\n| [de.sstoehr:har-reader](https://github.com/sdstoehr/har-reader) | `3.1.4` | `3.1.6` |\n| [io.hektor:hektor-fsm](https://github.com/sniceio/hektor) | `0.0.5` | `0.0.8` |\n| [org.codehaus.groovy:groovy-all](https://github.com/apache/groovy) | `3.0.14` | `3.0.25` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.61.1` | `1.75.0` |\n| [org.python:jython-standalone](https://github.com/jython/jython) | `2.7.2` | `2.7.4` |\n| [org.htmlunit:htmlunit-csp](https://github.com/HtmlUnit/htmlunit-csp) | `4.0.0` | `4.16.0` |\n| [com.google.re2j:re2j](https://github.com/google/re2j) | `1.7` | `1.8` |\n| [org.xhtmlrenderer:flying-saucer-pdf](https://github.com/flyingsaucerproject/flyingsaucer) | `9.3.1` | `9.13.3` |\n| org.thymeleaf:thymeleaf | `3.1.2.RELEASE` | `3.1.3.RELEASE` |\n| [net.bytebuddy:byte-buddy](https://github.com/raphw/byte-buddy) | `1.14.13` | `1.17.7` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.19.0` |\n| [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.36.0` |\n| [jakarta.xml.soap:jakarta.xml.soap-api](https://github.com/jakartaee/saaj-api) | `3.0.0` | `3.0.2` |\n| com.sun.xml.messaging.saaj:saaj-impl | `3.0.0` | `3.0.4` |\n| [com.predic8:soa-model-core](https://github.com/membrane/soa-model) | `2.0.1` | `2.2.0` |\n| [io.kaitai:kaitai-struct-runtime](https://github.com/kaitai-io/kaitai_struct_java_runtime) | `0.10` | `0.11` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.10.0` | `5.20.0` |\n| com.github.ben-manes.versions | `0.52.0` | `0.53.0` |\n| net.ltgt.errorprone | `4.1.0` | `4.3.0` |\n\nUpdates `com.google.errorprone:error_prone_core` from 2.36.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.42.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExplicitArrayForVarargs\"\u003e\u003ccode\u003eExplicitArrayForVarargs\u003c/code\u003e\u003c/a\u003e: discourage unnecessary explicit construction of an array to provide varargs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/FloggerPerWithoutRateLimit\"\u003e\u003ccode\u003eFloggerPerWithoutRateLimit\u003c/code\u003e\u003c/a\u003e: discourage Flogger's \u003ccode\u003eperUnique\u003c/code\u003e without rate limiting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/StringJoin\"\u003e\u003ccode\u003eStringJoin\u003c/code\u003e\u003c/a\u003e: Ban \u003ccode\u003eString.join(CharSequence)\u003c/code\u003e and \u003ccode\u003eString.join(CharSequence, CharSequence)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThreadBuilderNameWithPlaceholder\"\u003e\u003ccode\u003eThreadBuilderNameWithPlaceholder\u003c/code\u003e\u003c/a\u003e: Do not allow placeholders in \u003ccode\u003eThread.Builder.name(String)\u003c/code\u003e or \u003ccode\u003ename(String, int)\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe return type of \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e has changed. The previous type was \u003ccode\u003eEnumSet\u0026lt;Flags.Flag\u0026gt;\u003c/code\u003e, where \u003ccode\u003eFlags.Flag\u003c/code\u003e is an enum in the javac class \u003ccode\u003eFlags\u003c/code\u003e. A recent JDK change has replaced that enum with a new top-level enum called \u003ccode\u003eFlagsEnum\u003c/code\u003e. It is not possible to change \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e in a way that would be type-safe and compatible with the enums from JDKs both before and after the change. Instead, the method now returns \u003ccode\u003eImmutableSet\u0026lt;String\u0026gt;\u003c/code\u003e, where the strings come from the \u003ccode\u003etoString()\u003c/code\u003e of the enum constants. That means they are \u003ccode\u003e\u0026quot;native\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;abstract\u0026quot;\u003c/code\u003e, etc.\u003c/li\u003e\n\u003cli\u003eFlag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ca href=\"https://errorprone.info/bugpattern/SystemOut\"\u003e\u003ccode\u003eSystemOut\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.41.0...v2.42.0\"\u003ehttps://github.com/google/error-prone/compare/v2.41.0...v2.42.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.41.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/EffectivelyPrivate\"\u003eEffectivelyPrivate\u003c/a\u003e: Detect declarations that have \u003ccode\u003epublic\u003c/code\u003e or \u003ccode\u003eprotected\u003c/code\u003e modifiers, but are effectively private\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip BooleanLiteral findings if the target type is boxed (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5134\"\u003e#5134\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.40.0...v2.41.0\"\u003ehttps://github.com/google/error-prone/compare/v2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.40.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and improvements\u003c/li\u003e\n\u003cli\u003eReleases (including snapshots) have migrated from \u003ca href=\"https://central.sonatype.org/pages/ossrh-eol/#process-to-migrate\"\u003eOSSRH to the Central Publisher Portal\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.39.0...v2.40.0\"\u003ehttps://github.com/google/error-prone/compare/v2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.39.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTemporarily downgrade to Guava 33.4.0 (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5108\"\u003e#5108\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChecks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BooleanLiteral\"\u003e\u003ccode\u003eBooleanLiteral\u003c/code\u003e\u003c/a\u003e: Prefer \u003ccode\u003etrue\u003c/code\u003e to \u003ccode\u003eBoolean.TRUE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExpensiveLenientFormatString\"\u003e\u003ccode\u003eExpensiveLenientFormatString\u003c/code\u003e\u003c/a\u003e: Renamed from \u003ccode\u003ePreconditionsExpensiveString\u003c/code\u003e, detects unnecessary calls to \u003ccode\u003eString.format\u003c/code\u003e in the arguments of lenient formatting methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/UnnecessaryQualifier\"\u003e\u003ccode\u003eUnnecessaryQualifier\u003c/code\u003e\u003c/a\u003e: Detects \u003ccode\u003e@Qualifier\u003c/code\u003e or \u003ccode\u003e@BindingAnnotation\u003c/code\u003e annotations that have no effect, and can be removed\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/4996\"\u003e#4996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5045\"\u003e#5045\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.38.0...v2.39.0\"\u003ehttps://github.com/google/error-prone/compare/v2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.38.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/google/error-prone/commit/52b61801ceacc31be26261a14e4eb95bee68cdd8\"\u003e\u003ccode\u003e52b6180\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/691c64a24ac430fa26a69ff3ae62fdba0346e0df\"\u003e\u003ccode\u003e691c64a\u003c/code\u003e\u003c/a\u003e Flag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ccode\u003eSystemOut\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/0b751cd69ac278d63686a776cd55a067b7bff7ae\"\u003e\u003ccode\u003e0b751cd\u003c/code\u003e\u003c/a\u003e ExpicitArrayForVarargs: flag unnecessary explicit construction of an array to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/982fe208c273cc82e838efbbc9c001b857cd239e\"\u003e\u003ccode\u003e982fe20\u003c/code\u003e\u003c/a\u003e Tweak links to point to newer versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a2df97f0d3842e1d45f26bf085a3a95f273346be\"\u003e\u003ccode\u003ea2df97f\u003c/code\u003e\u003c/a\u003e [StatementSwitchToExpressionSwitch] fix bug where \u003ccode\u003ecase null\u003c/code\u003e can sometimes b...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/e691be588c891d4fc10cb41f019960accd21db2d\"\u003e\u003ccode\u003ee691be5\u003c/code\u003e\u003c/a\u003e Fix (behind a flag) a silly bug in RedundantSetterCall.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/ce1a422f3f92a9a9c6434a9e0e00df5ce9877df2\"\u003e\u003ccode\u003ece1a422\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eDurations.wait()\u003c/code\u003e to \u003ccode\u003eWaitMatchers.waitMethodWithTimeout\u003c/code\u003e (and make them...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da03fea47dd31b1a63932d78f3d91fb383cce8d1\"\u003e\u003ccode\u003eda03fea\u003c/code\u003e\u003c/a\u003e Update MethodCanBeStatic to be able to detect and trigger on Guice \u003ca href=\"https://github.com/Provides\"\u003e\u003ccode\u003e@​Provides\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/83e6582d6333d2e2d5e5f2f279c630d54ae65fae\"\u003e\u003ccode\u003e83e6582\u003c/code\u003e\u003c/a\u003e RedundantSetterCall: note that setFooValue and setFooBytes can be aliases for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/db62c8c27ec5984058788547958f2f7c8d1bee95\"\u003e\u003ccode\u003edb62c8c\u003c/code\u003e\u003c/a\u003e Automated rollback of commit e1b16e24461d90f2b11f8213a68bfccc0426d4f3.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.36.0...v2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commons-codec:commons-codec` from 1.15 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt\"\u003ecommons-codec:commons-codec's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons Codec 1.19.0 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons Codec team is pleased to announce the release of Apache Commons Codec 1.19.0.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons Codec component contains encoders and decoders for\nformats such as Base16, Base32, Base64, digest, and Hexadecimal. In addition to these\nwidely used encoders and decoders, the codec package also maintains a\ncollection of phonetic encoding utilities.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add HmacUtils.hmac(Path). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add HmacUtils.hmacHex(Path). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add PMD check to the default Maven goal. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add SpotBugs check to the default Maven goal. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Remove -nouses directive from maven-bundle-plugin. OSGi package imports now state 'uses' definitions for package imports, this doesn't affect JPMS (from org.apache.commons:commons-parent:80). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Refactor DigestUtils.updateDigest(MessageDigest, File) to use NIO. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCODEC-328:  Clarify Javadoc for org.apache.commons.codec.digest.UnixCrypt.crypt(byte[],String). Thanks to Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in DaitchMokotoffSoundex.Rule. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in DaitchMokotoffSoundex.parseRules(Scanner, String, Map, Map). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in Lang.loadFromResource(String, Languages). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in PhoneticEngine.encode(String, LanguageSet). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in org.apache.commons.codec.language.bm.Rule.parse*(*). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Remove redundant checks for whitespace in DaitchMokotoffSoundex.soundex(String, boolean). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Javadoc typo in Base16.java [#380](https://github.com/apache/commons-codec/issues/380). Thanks to Sebastian Baunsgaard.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Deprecate unused constant org.apache.commons.codec.language.bm.Rule.ALL. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCODEC-331:  org.apache.commons.codec.language.bm.Rule.parsePhonemeExpr(String) adds duplicate empty phoneme when input ends with |. Thanks to IlikeCode, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCODEC-331:  org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String) does not remove special characters like punctuation. Thanks to IlikeCode, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD multiple UnnecessaryFullyQualifiedName in org.apache.commons.codec.binary.StringUtils. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD UnusedFormalParameter in private constructor in org.apache.commons.codec.binary.Base16. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD multiple UnnecessaryFullyQualifiedName in org.apache.commons.codec.digest.Blake3. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD UnnecessaryFullyQualifiedName in org.apache.commons.codec.digest.Md5Crypt. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD EmptyControlStatement in org.apache.commons.codec.language.Metaphone. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix SpotBugs [ERROR] Medium: org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder.setEncodeTable(byte[]) may expose internal representation by storing an externally mutable object into BaseNCodec$AbstractBuilder.encodeTable [org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder] At BaseNCodec.java:[line 131] EI_EXPOSE_REP2. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        The method org.apache.commons.codec.binary.BaseNCodec.AbstractBuilder.setLineSeparator(byte...) now makes a defensive copy. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Avoid unnecessary String conversion in org.apache.commons.codec.language.bm.PhoneticEngine.applyFinalRules(PhonemeBuilder, Map). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix SpotBugs [ERROR] High: Potentially dangerous use of non-short-circuit logic in org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String) [org.apache.commons.codec.language.DaitchMokotoffSoundex] At DaitchMokotoffSoundex.java:[line 350] NS_DANGEROUS_NON_SHORT_CIRCUIT. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\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/apache/commons-codec/commit/351cb22e1e1948aaabb39a463dce631bea156125\"\u003e\u003ccode\u003e351cb22\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.19.0 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/0d501b60e50ea50e247d8d804945b9a39974ed52\"\u003e\u003ccode\u003e0d501b6\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/d6d4b824539b0d4794200d05286fd3de1ff2f236\"\u003e\u003ccode\u003ed6d4b82\u003c/code\u003e\u003c/a\u003e Refactor duplicate code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/6d6456ca94448ba8ea105e697e3f89a67f3cb7c1\"\u003e\u003ccode\u003e6d6456c\u003c/code\u003e\u003c/a\u003e No need to exclude abstract test classes from Surefire runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/22d62e41374cfe558f995fd2c0f490e6f93339d6\"\u003e\u003ccode\u003e22d62e4\u003c/code\u003e\u003c/a\u003e No need to specify the default value for linkXref\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/c4daf34d4aeb1193ba8feab437b86a871c6b123d\"\u003e\u003ccode\u003ec4daf34\u003c/code\u003e\u003c/a\u003e No longer need to override the version of the Jacoco Maven plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/8f2b67337af5dc40a3701346c6302ab0cf5ca554\"\u003e\u003ccode\u003e8f2b673\u003c/code\u003e\u003c/a\u003e Remove workaround for [SUREFIRE-2253]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/466a61d3f957a9a0727937b3772dc6880db22f01\"\u003e\u003ccode\u003e466a61d\u003c/code\u003e\u003c/a\u003e Fix Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/ca27bd30b6170561786d421eb48f1535dc41336f\"\u003e\u003ccode\u003eca27bd3\u003c/code\u003e\u003c/a\u003e Fix Checkstyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/1dfb4e5bbdc604dc72fe671fded50a5c91bc7543\"\u003e\u003ccode\u003e1dfb4e5\u003c/code\u003e\u003c/a\u003e Better internal method name\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-codec/compare/rel/commons-codec-1.15...rel/commons-codec-1.19.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.17.2 to 1.21.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup 1.21.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.2\u003c/strong\u003e is out now, adding support for custom \u003ccode\u003eSSLContext\u003c/code\u003e in HTTP/2 connections, and improving consistency in how user data is handled in attributes. It also brings performance gains in DOM manipulation and fragment parsing, and fixes several edge cases in stream parsing, traversal, cloning, and concurrent reads.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ejsoup 1.21.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.1\u003c/strong\u003e is out now, featuring powerful new node selection capabilities that let you target specific DOM nodes like comments and text nodes using CSS selectors, dynamic tag customization through the new TagSet callback system, and improved defense against mutation XSS attacks with simplified attribute escaping. This release also brings HTTP/2 support by default, numerous API improvements for better developer experience, and fixes for several edge-case parsing issues.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; type)\u003c/code\u003e method instead. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull(Object)\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull(T)\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; nodeType)\u003c/code\u003e for direct node selection. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2330\"\u003e#2330\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection.Response#readBody()\u003c/code\u003e over \u003ccode\u003eConnection.Response#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\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\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.21.2 (2025-Aug-25)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.1 (2025-Jun-23)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class type)\u003c/code\u003e method instead. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class nodeType)\u003c/code\u003e for direct node selection. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace).\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection#readBody()\u003c/code\u003e over \u003ccode\u003eConnection#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe contents of a \u003ccode\u003escript\u003c/code\u003e in a \u003ccode\u003esvg\u003c/code\u003e foreign context should be parsed as script data, not text. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2320\"\u003e#2320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTag#isFormSubmittable()\u003c/code\u003e was updating the Tag's options. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2323\"\u003e#2323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML pretty-printer would incorrectly trim whitespace when text followed an inline element in a block element. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2325\"\u003e#2325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom tags with hyphens or other non-letter characters in their names now work correctly as Data or RcData tags. Their closing tags are now tokenized properly. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2332\"\u003e#2332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen cloning an Element, the clone would retain the source's cached child Element list (if any), which could lead to incorrect results when modifying the clone's child elements. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2334\"\u003e#2334\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/b02837b6c77b94799c055f8fa446fb770bfb49f1\"\u003e\u003ccode\u003eb02837b\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.21.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1f0c2070e78b5d171c4e5896930c612c58474608\"\u003e\u003ccode\u003e1f0c207\u003c/code\u003e\u003c/a\u003e v1.21.2 release date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/b0934637750ed6ddd91bf344842c8c5aad1fb70f\"\u003e\u003ccode\u003eb093463\u003c/code\u003e\u003c/a\u003e Use central-publishing-maven-plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/615b9592ffe8e65b4e461f7727081995931154ce\"\u003e\u003ccode\u003e615b959\u003c/code\u003e\u003c/a\u003e Updating sonatype deploy URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/69617205f80df06acf2adb38fd8a19f3724b6845\"\u003e\u003ccode\u003e6961720\u003c/code\u003e\u003c/a\u003e Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2386\"\u003e#2386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/82864b246c0005cc66a50daede3568f930504030\"\u003e\u003ccode\u003e82864b2\u003c/code\u003e\u003c/a\u003e Bump jetty.version from 9.4.57.v20241219 to 9.4.58.v20250814 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2385\"\u003e#2385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/71f963ea3a78746fc2a3ba80b2843254b35c211a\"\u003e\u003ccode\u003e71f963e\u003c/code\u003e\u003c/a\u003e Fix for HTML that breaks the select scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/6b20f6e3d158d1ce3147c4e9306d9b485e083bf4\"\u003e\u003ccode\u003e6b20f6e\u003c/code\u003e\u003c/a\u003e Removed effective recursion closing \u003ccode\u003e\\\u0026lt;/select\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/eb2957a8b3e8c12649c5b83872a238dd74e68dec\"\u003e\u003ccode\u003eeb2957a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2382\"\u003e#2382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/3a9a6c7c8a67d51ebbb598495496e28dcd0c18e1\"\u003e\u003ccode\u003e3a9a6c7\u003c/code\u003e\u003c/a\u003e Fix ProxyTest in CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.17.2...jsoup-1.21.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.infradna.tool:bridge-method-annotation` from 1.18 to 1.24\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/90b05fc5d86b8e9362bbb31ccc37b28abdc67e52\"\u003e\u003ccode\u003e90b05fc\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1e3123cf4feaa612e6aa77ccf1a12cfd61a473a9\"\u003e\u003ccode\u003e1e3123c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/29\"\u003e#29\u003c/a\u003e from basil/asm-9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/c89b1025f3a4808e3d03a8a84b3f4ece06b96bf1\"\u003e\u003ccode\u003ec89b102\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.2 to 9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a60c63572dbb7a1d1aa91b5fbb0866517db88836\"\u003e\u003ccode\u003ea60c635\u003c/code\u003e\u003c/a\u003e Replaced by README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/8a5b5e9c6d5036aa492e43d3552b40cba07e5d8b\"\u003e\u003ccode\u003e8a5b5e9\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/677782c5cd7b3df04755b6f515c184748b019770\"\u003e\u003ccode\u003e677782c\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/jenkinsci/bridge-method-injector/commit/4682998f65e92142b9b3b185c63eb40ea0ed8c07\"\u003e\u003ccode\u003e4682998\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a2c094ff373921db7d71551d8f3fcd868c56e467\"\u003e\u003ccode\u003ea2c094f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/27\"\u003e#27\u003c/a\u003e from basil/asm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/cd1a8efd21354ac75447e338eee3298b7aa2386a\"\u003e\u003ccode\u003ecd1a8ef\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.0 to 9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1567095d18f443e5cbeb4593520f6fc0345b32fb\"\u003e\u003ccode\u003e1567095\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/infradna/bridge-method-injector/compare/bridge-method-injector-parent-1.18...bridge-method-injector-parent-1.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.kohsuke:github-api` from 1.303 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.303...github-api-1.330\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.commons:commons-collections4` from 4.4 to 4.5.0\n\nUpdates `org.apache.commons:commons-csv` from 1.10.0 to 1.14.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-csv/blob/master/RELEASE-NOTES.txt\"\u003eorg.apache.commons:commons-csv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons CSV 1.14.1 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons CSV team is pleased to announce the release of Apache Commons CSV 1.14.1.\u003c/p\u003e\n\u003cp\u003eThis document contains the release notes for the 1.14.1 version of Apache Commons CSV.\nCommons CSV reads and writes files in Comma Separated Value (CSV) format variations.\u003c/p\u003e\n\u003cp\u003eCommons CSV requires at least Java 8.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003cp\u003eChanges in this version include:\u003c/p\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCSV-318:  CSVPrinter.printRecord(Stream) hangs if given a parallel stream. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCSV-318:  CSVPrinter now uses an internal lock instead of synchronized methods. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      org.apache.commons.csv.CSVPrinter.printRecords(ResultSet) now writes one record at a time using a lock. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-parent from 81 to 85 [#542](https://github.com/apache/commons-csv/issues/542). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-io:commons-io from 2.18.0 to 2.20.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump com.opencsv:opencsv from 5.10 to 5.11.2 [#545](https://github.com/apache/commons-csv/issues/545), [#551](https://github.com/apache/commons-csv/issues/551), [#553](https://github.com/apache/commons-csv/issues/553). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 [#556](https://github.com/apache/commons-csv/issues/556). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-codec:commons-codec from 1.18.0 to 1.19.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHistorical list of changes: \u003ca href=\"https://commons.apache.org/proper/commons-csv/changes.html\"\u003ehttps://commons.apache.org/proper/commons-csv/changes.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFor complete information on Apache Commons CSV, including instructions on how to submit bug reports,\npatches, or suggestions for improvement, see the Apache Commons CSV website:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://commons.apache.org/proper/commons-csv/\"\u003ehttps://commons.apache.org/proper/commons-csv/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDownload page: \u003ca href=\"https://commons.apache.org/proper/commons-csv/download_csv.cgi\"\u003ehttps://commons.apache.org/proper/commons-csv/download_csv.cgi\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eHave fun!\n-Apache Commons CSV team\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eApache Commons CSV 1.14.0 Release Notes\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/apache/commons-csv/commit/e14ef86d34211f9d1b9b6040c5f6dbafc93ba907\"\u003e\u003ccode\u003ee14ef86\u003c/code\u003e\u003c/a\u003e Ignore macOS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/d8724bf76a7d6abbb93aad65e316f050f86a256d\"\u003e\u003ccode\u003ed8724bf\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.14.1 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b76971c25af176f901c003b25d6a5f4f6edc87ad\"\u003e\u003ccode\u003eb76971c\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b66814ef248186b7a8316b85e1208c705dba06e3\"\u003e\u003ccode\u003eb66814e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/apache/commons-csv/issues/557\"\u003e#557\u003c/a\u003e from apache/dependabot/github_actions/github/codeql-a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/9c95e92d6aaa4d052a139158a900395646c6652e\"\u003e\u003ccode\u003e9c95e92\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.29.2 to 3.29.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/1fb37163f9fe59aa13c63efd53e71d7a0392be4c\"\u003e\u003ccode\u003e1fb3716\u003c/code\u003e\u003c/a\u003e Bump commons-codec:commons-codec from 1.18.0 to 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/7b72c509f73e05ca2bf2f0945a6a1cb03f87bd39\"\u003e\u003ccode\u003e7b72c50\u003c/code\u003e\u003c/a\u003e Merge some string literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/96583732b6be55d459a5b430c4a3a3bb2126db10\"\u003e\u003ccode\u003e9658373\u003c/code\u003e\u003c/a\u003e Update the GitHub pull request template for AI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/67192a9e0af58bdf49edf4e0d29f50343da82c70\"\u003e\u003ccode\u003e67192a9\u003c/code\u003e\u003c/a\u003e Bump commons-io:commons-io from 2.19.0 to 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/59164c8b795ebd4cc0362c4c74d7c893c4a50303\"\u003e\u003ccode\u003e59164c8\u003c/code\u003e\u003c/a\u003e Bump com.opencsv:opencsv from 5.11.1 to 5.11.2 \u003ca href=\"https://redirect.github.com/apache/commons-csv/issues/553\"\u003e#553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-csv/compare/rel/commons-csv-1.10.0...rel/commons-csv-1.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commons-io:commons-io` from 2.16.1 to 2.20.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-io/blob/master/RELEASE-NOTES.txt\"\u003ecommons-io:commons-io's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eApache Commons IO 2.20.0 Release Notes\u003c/p\u003e\n\u003cp\u003eThe Apache Commons IO team is pleased to announce the release of Apache Commons IO 2.20.0.\u003c/p\u003e\n\u003ch2\u003eIntroduction\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons IO library contains utility classes, stream implementations, file filters,\nfile comparators, endian transformation classes, and much more.\u003c/p\u003e\n\u003cp\u003eVersion 2.19.1: Java 8 or later is required.\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cp\u003eo IO-875:  Add org.apache.commons.io.file.CountingPathVisitor.accept(Path, BasicFileAttributes) \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/743\"\u003e#743\u003c/a\u003e. Thanks to Pierre Baumard, Gary Gregory.\no          Add org.apache.commons.io.Charsets.isAlias(Charset, String). Thanks to Gary Gregory.\no          Add org.apache.commons.io.Charsets.isUTF8(Charset). Thanks to Gary Gregory.\no          Add org.apache.commons.io.Charsets.toCharsetDefault(String, Charset). Thanks to Gary Gregory.\no IO-279:  Add Tailer ignoreTouch option \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/757\"\u003e#757\u003c/a\u003e. Thanks to Joerg Budischewski, Gary Gregory.\u003c/p\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cp\u003eo          [javadoc] Rename parameter of ProxyOutputStream.write(int) \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/740\"\u003e#740\u003c/a\u003e. Thanks to Jesse Glick.\no IO-875:  CopyDirectoryVisitor ignores fileFilter \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/743\"\u003e#743\u003c/a\u003e. Thanks to Pierre Baumard, Gary Gregory.\no          org.apache.commons.io.build.AbstractOrigin.getReader(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.\no          org.apache.commons.io.build.AbstractOrigin.AbstractRandomAccessFileOrigin.getReader(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.\no          org.apache.commons.io.build.AbstractOrigin.ByeArrayOrigin.getReader(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.\no          org.apache.commons.io.build.AbstractOrigin.InputStreamOrigin.getReader(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.\no          org.apache.commons.io.build.AbstractOrigin.getWriter(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.\no          org.apache.commons.io.build.AbstractOrigin.AbstractRandomAccessFileOrigin.getWriter(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.\no          org.apache.commons.io.build.AbstractOrigin.OutputStreamOrigin.getWriter(Charset) now maps a null Charset to the default Charset. Thanks to Gary Gregory.\no          FileUtils.readLines(File, Charset) now maps a null Charset to the default Charset \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/744\"\u003e#744\u003c/a\u003e. Thanks to Ryan Kurtz, Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;atSlashCr\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.WindowsLineEndingInputStream, org.apache.commons.io.input.WindowsLineEndingInputStream] At WindowsLineEndingInputStream.java:[line 77]Another occurrence at WindowsLineEndingInputStream.java:[line 81] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;atSlashCr\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.WindowsLineEndingInputStream] At WindowsLineEndingInputStream.java:[line 112] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;atSlashLf\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.WindowsLineEndingInputStream] At WindowsLineEndingInputStream.java:[line 113] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;atSlashLf\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.UnixLineEndingInputStream] At UnixLineEndingInputStream.java:[line 75] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;atEos\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.UnixLineEndingInputStream] At UnixLineEndingInputStream.java:[line 120] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;atSlashCr\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.UnixLineEndingInputStream] At UnixLineEndingInputStream.java:[line 124] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;atSlashLf\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.UnixLineEndingInputStream] At UnixLineEndingInputStream.java:[line 125] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;closed\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.ProxyInputStream] At ProxyInputStream.java:[line 233] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          Fix SpotBugs [ERROR] Medium: Shared primitive variable \u0026quot;propagateClose\u0026quot; in one thread may not yield the value of the most recent write from another thread [org.apache.commons.io.input.BoundedInputStream] At BoundedInputStream.java:[line 555] AT_STALE_THREAD_WRITE_OF_PRIMITIVE. Thanks to Gary Gregory.\no          QueueInputStream reads all but the first byte without waiting. \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/748\"\u003e#748\u003c/a\u003e. Thanks to maxxedev, Piotr P. Karwasz, Gary Gregory.\no          Javadoc fixes and improvements. Thanks to Gary Gregory.\no          Avoid NPE in org.apache.commons.io.filefilter.WildcardFilter.accept(File). Thanks to Gary Gregory.\no IO-874:  FileUtils.forceDelete can delete a broken symlink again \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/756\"\u003e#756\u003c/a\u003e. Thanks to Andy Russell, Joerg Budischewski.\no          Fix infinite loop in AbstractByteArrayOutputStream. \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/758\"\u003e#758\u003c/a\u003e. Thanks to Alex Benusovich.\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/apache/commons-io/commit/c224bce839494ed651e5eba320b27c73ce8d804e\"\u003e\u003ccode\u003ec224bce\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 2.20.0 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/8981a5c9664574003f5d7620cf5133325161e543\"\u003e\u003ccode\u003e8981a5c\u003c/code\u003e\u003c/a\u003e Remove workaround for\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/4ef481f14220c19f6114a3f793df2202bb1336a6\"\u003e\u003ccode\u003e4ef481f\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/d23228f4a94bd070b0505e5a528da1413915c8a4\"\u003e\u003ccode\u003ed23228f\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of \u003ca href=\"https://github.com/apache/commons-io.git\"\u003ehttps://github.com/apache/commons-io.git\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/5d2737ffe489b91c4af7ccddfeda93d860750729\"\u003e\u003ccode\u003e5d2737f\u003c/code\u003e\u003c/a\u003e Add \u003ca href=\"https://github.com/SuppressWarnings\"\u003e\u003ccode\u003e@​SuppressWarnings\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/e5c80d6eff29b9a3b2b917356345d90237e84e57\"\u003e\u003ccode\u003ee5c80d6\u003c/code\u003e\u003c/a\u003e Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 \u003ca href=\"https://redirect.github.com/apache/commons-io/issues/761\"\u003e#761\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/2017ac063c1cc284dc855265a15a4e2dfdc653e4\"\u003e\u003ccode\u003e2017ac0\u003c/code\u003e\u003c/a\u003e Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 (\u003ca href=\"https://redirect.github.com/apache/commons-io/issues/761\"\u003e#761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/07ce798898b6c6ca639e6ad0e2beecf55cf00d7a\"\u003e\u003ccode\u003e07ce798\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/a828efa09f5b32f80485c2302caf78b8ee3c857c\"\u003e\u003ccode\u003ea828efa\u003c/code\u003e\u003c/a\u003e Add ciManagement element to POM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-io/commit/46bd1c2955a29d676bfbc3fea6cce84918ba6ac5\"\u003e\u003ccode\u003e46bd1c2\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-io/compare/rel/commons-io-2.16.1...rel/commons-io-2.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson:jackson-bom` from 2.19.1 to 2.20.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/54f854ba1ce69c5827f8acf6d08ba2d7ce36233c\"\u003e\u003ccode\u003e54f854b\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/9cc68d43adb6f6326c44a0afe5afcdde186f857d\"\u003e\u003ccode\u003e9cc68d4\u003c/code\u003e\u003c/a\u003e Prep for 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/cbef80087fdfb5374acc0b807e8d3336cf2d7bc8\"\u003e\u003ccode\u003ecbef800\u003c/code\u003e\u003c/a\u003e Version sync for 2.20.0 release (in near future)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/79bc4edc6d7650da63ff3cd27ec1de130cf5c1f7\"\u003e\u003ccode\u003e79bc4ed\u003c/code\u003e\u003c/a\u003e Back to snapshot deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/94947a0d356baf31d171ed90d7aa750a15a9abe9\"\u003e\u003ccode\u003e94947a0\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/369dffea7dbc1b0b98accdf1a8d5029cbeeb3dc0\"\u003e\u003ccode\u003e369dffe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-bom-2.20.0-rc1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/c5caaf295107e42065e4b54b2cca6bc421c2e63b\"\u003e\u003ccode\u003ec5caaf2\u003c/code\u003e\u003c/a\u003e Prep for 2.20.0-rc1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/8ad6e0abca30ee7a3ec7e3c1225e7c100b9879ae\"\u003e\u003ccode\u003e8ad6e0a\u003c/code\u003e\u003c/a\u003e Move to 2.20.0-rc1-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/500ef4da17847b718b72690fb0d8eb488e4092f7\"\u003e\u003ccode\u003e500ef4d\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-bom/commit/274f22895e1747c2340f1678cdca10a2d8d33a58\"\u003e\u003ccode\u003e274f228\u003c/code\u003e\u003c/a\u003e Back to snapshot deps\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-bom/compare/jackson-bom-2.19.1...jackson-bom-2.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.datanucleus:datanucleus-accessplatform-jdo-rdbms` fro...\n\n_Description has been truncated_","html_url":"https://github.com/ricekot/zap-extensions/pull/8","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricekot%2Fzap-extensions/issues/8","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8/packages"}},{"old_version":"1.303","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2025-10-03T13:16:15.000Z","version_change":"1.303 → 1.330","issue":{"uuid":"2884935900","node_id":"PR_kwDODf4ejs6r9KDc","number":7,"state":"closed","title":"build(deps): bump the gradle group with 51 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-03T14:04:38.000Z","author_association":"NONE","state_reason":null,"created_at":"2025-10-03T13:16:15.000Z","updated_at":"2025-10-03T14:04:38.000Z","time_to_close":2903,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":51,"packages":[{"name":"com.google.errorprone:error_prone_core","old_version":"2.36.0","new_version":"2.42.0","repository_url":"https://github.com/google/error-prone"},{"name":"biz.aQute.bnd:biz.aQute.bnd.annotation","old_version":"6.4.1","new_version":"7.1.0","repository_url":"https://github.com/bndtools/bnd"},{"name":"commons-codec:commons-codec","old_version":"1.15","new_version":"1.19.0","repository_url":"https://github.com/apache/commons-codec"},{"name":"io.github.bonigarcia:webdrivermanager","old_version":"5.7.0","new_version":"6.3.2","repository_url":"https://github.com/bonigarcia/webdrivermanager"},{"name":"org.jsoup:jsoup","old_version":"1.17.2","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.infradna.tool:bridge-method-annotation","old_version":"1.18","new_version":"1.24","repository_url":"https://github.com/infradna/bridge-method-injector"},{"name":"org.kohsuke:github-api","old_version":"1.303","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.github.spotbugs:spotbugs-annotations","old_version":"3.1.12","new_version":"4.9.6","repository_url":"https://github.com/spotbugs/spotbugs"},{"name":"org.apache.commons:commons-collections4","old_version":"4.4","new_version":"4.5.0"},{"name":"org.apache.commons:commons-csv","old_version":"1.10.0","new_version":"1.14.1","repository_url":"https://github.com/apache/commons-csv"},{"name":"commons-io:commons-io","old_version":"2.16.1","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.fasterxml.jackson:jackson-bom","old_version":"2.19.1","new_version":"2.20.0","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.datanucleus:datanucleus-accessplatform-jdo-rdbms","old_version":"6.0.7","new_version":"6.0.10","repository_url":"https://github.com/datanucleus/datanucleus-accessplatform"},{"name":"org.flywaydb:flyway-core","old_version":"9.22.3","new_version":"11.13.2","repository_url":"https://github.com/flyway/flyway"},{"name":"org.xerial:sqlite-jdbc","old_version":"3.45.3.0","new_version":"3.50.3.0","repository_url":"https://github.com/xerial/sqlite-jdbc"},{"name":"de.sstoehr:har-reader","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/sdstoehr/har-reader"},{"name":"io.hektor:hektor-fsm","old_version":"0.0.5","new_version":"0.0.8","repository_url":"https://github.com/sniceio/hektor"},{"name":"com.github.curious-odd-man:rgxgen","old_version":"2.0","new_version":"3.1","repository_url":"https://github.com/curious-odd-man/RgxGen"},{"name":"com.natpryce:snodge","old_version":"2.1.2.2","new_version":"3.7.0.0","repository_url":"https://github.com/npryce/snodge"},{"name":"org.codehaus.groovy:groovy-all","old_version":"3.0.14","new_version":"3.0.25","repository_url":"https://github.com/apache/groovy"},{"name":"io.grpc:grpc-protobuf","old_version":"1.61.1","new_version":"1.75.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"org.jruby:jruby-complete","old_version":"1.7.4","new_version":"9.4.14.0"},{"name":"org.python:jython-standalone","old_version":"2.7.2","new_version":"2.7.4","repository_url":"https://github.com/jython/jython"},{"name":"dev.langchain4j:langchain4j","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-azure-open-ai","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-ollama","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"org.htmlunit:htmlunit-csp","old_version":"4.0.0","new_version":"4.16.0","repository_url":"https://github.com/HtmlUnit/htmlunit-csp"},{"name":"com.google.re2j:re2j","old_version":"1.7","new_version":"1.8","repository_url":"https://github.com/google/re2j"},{"name":"org.xhtmlrenderer:flying-saucer-pdf","old_version":"9.3.1","new_version":"9.13.3","repository_url":"https://github.com/flyingsaucerproject/flyingsaucer"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.2.RELEASE","new_version":"3.1.3.RELEASE"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"2.3.2","new_version":"4.0.6"},{"name":"net.bytebuddy:byte-buddy","old_version":"1.14.13","new_version":"1.17.7","repository_url":"https://github.com/raphw/byte-buddy"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.19.0"},{"name":"org.seleniumhq.selenium:selenium-java","old_version":"4.35.0","new_version":"4.36.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"jakarta.xml.soap:jakarta.xml.soap-api","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/jakartaee/saaj-api"},{"name":"com.sun.xml.messaging.saaj:saaj-impl","old_version":"3.0.0","new_version":"3.0.4"},{"name":"com.predic8:soa-model-core","old_version":"2.0.1","new_version":"2.2.0","repository_url":"https://github.com/membrane/soa-model"},{"name":"io.kaitai:kaitai-struct-runtime","old_version":"0.10","new_version":"0.11","repository_url":"https://github.com/kaitai-io/kaitai_struct_java_runtime"},{"name":"org.slf4j:jcl-over-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:jul-to-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:slf4j-log4j12","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.hamcrest:hamcrest-library","old_version":"2.2","new_version":"3.0","repository_url":"https://github.com/hamcrest/JavaHamcrest"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.10.0","new_version":"5.20.0","repository_url":"https://github.com/mockito/mockito"},{"name":"io.github.bonigarcia:selenium-jupiter","old_version":"5.1.1","new_version":"6.3.1","repository_url":"https://github.com/bonigarcia/selenium-jupiter"},{"name":"com.github.weisj:jsvg","old_version":"1.4.0","new_version":"2.0.0","repository_url":"https://github.com/weisJ/jsvg"},{"name":"org.cyclonedx.bom","old_version":"2.2.0","new_version":"3.0.0"},{"name":"com.github.ben-manes.versions","old_version":"0.52.0","new_version":"0.53.0"},{"name":"net.ltgt.errorprone","old_version":"4.1.0","new_version":"4.3.0"},{"name":"io.freefair.lombok","old_version":"8.12.2","new_version":"9.0.0","repository_url":"https://github.com/freefair/gradle-plugins"},{"name":"org.sonarqube","old_version":"4.3.0.3225","new_version":"6.3.1.5724"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 51 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.36.0` | `2.42.0` |\n| [biz.aQute.bnd:biz.aQute.bnd.annotation](https://github.com/bndtools/bnd) | `6.4.1` | `7.1.0` |\n| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.15` | `1.19.0` |\n| [io.github.bonigarcia:webdrivermanager](https://github.com/bonigarcia/webdrivermanager) | `5.7.0` | `6.3.2` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.2` | `1.21.2` |\n| [com.infradna.tool:bridge-method-annotation](https://github.com/infradna/bridge-method-injector) | `1.18` | `1.24` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.303` | `1.330` |\n| [com.github.spotbugs:spotbugs-annotations](https://github.com/spotbugs/spotbugs) | `3.1.12` | `4.9.6` |\n| org.apache.commons:commons-collections4 | `4.4` | `4.5.0` |\n| [org.apache.commons:commons-csv](https://github.com/apache/commons-csv) | `1.10.0` | `1.14.1` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.16.1` | `2.20.0` |\n| [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `2.19.1` | `2.20.0` |\n| [org.datanucleus:datanucleus-accessplatform-jdo-rdbms](https://github.com/datanucleus/datanucleus-accessplatform) | `6.0.7` | `6.0.10` |\n| [org.flywaydb:flyway-core](https://github.com/flyway/flyway) | `9.22.3` | `11.13.2` |\n| [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) | `3.45.3.0` | `3.50.3.0` |\n| [de.sstoehr:har-reader](https://github.com/sdstoehr/har-reader) | `3.1.4` | `3.1.6` |\n| [io.hektor:hektor-fsm](https://github.com/sniceio/hektor) | `0.0.5` | `0.0.8` |\n| [com.github.curious-odd-man:rgxgen](https://github.com/curious-odd-man/RgxGen) | `2.0` | `3.1` |\n| [com.natpryce:snodge](https://github.com/npryce/snodge) | `2.1.2.2` | `3.7.0.0` |\n| [org.codehaus.groovy:groovy-all](https://github.com/apache/groovy) | `3.0.14` | `3.0.25` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.61.1` | `1.75.0` |\n| org.jruby:jruby-complete | `1.7.4` | `9.4.14.0` |\n| [org.python:jython-standalone](https://github.com/jython/jython) | `2.7.2` | `2.7.4` |\n| [dev.langchain4j:langchain4j](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-azure-open-ai](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-ollama](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [org.htmlunit:htmlunit-csp](https://github.com/HtmlUnit/htmlunit-csp) | `4.0.0` | `4.16.0` |\n| [com.google.re2j:re2j](https://github.com/google/re2j) | `1.7` | `1.8` |\n| [org.xhtmlrenderer:flying-saucer-pdf](https://github.com/flyingsaucerproject/flyingsaucer) | `9.3.1` | `9.13.3` |\n| org.thymeleaf:thymeleaf | `3.1.2.RELEASE` | `3.1.3.RELEASE` |\n| org.glassfish.jaxb:jaxb-runtime | `2.3.2` | `4.0.6` |\n| [net.bytebuddy:byte-buddy](https://github.com/raphw/byte-buddy) | `1.14.13` | `1.17.7` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.19.0` |\n| [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.36.0` |\n| [jakarta.xml.soap:jakarta.xml.soap-api](https://github.com/jakartaee/saaj-api) | `3.0.0` | `3.0.2` |\n| com.sun.xml.messaging.saaj:saaj-impl | `3.0.0` | `3.0.4` |\n| [com.predic8:soa-model-core](https://github.com/membrane/soa-model) | `2.0.1` | `2.2.0` |\n| [io.kaitai:kaitai-struct-runtime](https://github.com/kaitai-io/kaitai_struct_java_runtime) | `0.10` | `0.11` |\n| org.slf4j:jcl-over-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:jul-to-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:slf4j-log4j12 | `1.7.32` | `2.0.17` |\n| [org.hamcrest:hamcrest-library](https://github.com/hamcrest/JavaHamcrest) | `2.2` | `3.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.10.2` | `6.0.0` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.10.0` | `5.20.0` |\n| [io.github.bonigarcia:selenium-jupiter](https://github.com/bonigarcia/selenium-jupiter) | `5.1.1` | `6.3.1` |\n| [com.github.weisj:jsvg](https://github.com/weisJ/jsvg) | `1.4.0` | `2.0.0` |\n| org.cyclonedx.bom | `2.2.0` | `3.0.0` |\n| com.github.ben-manes.versions | `0.52.0` | `0.53.0` |\n| net.ltgt.errorprone | `4.1.0` | `4.3.0` |\n| [io.freefair.lombok](https://github.com/freefair/gradle-plugins) | `8.12.2` | `9.0.0` |\n| org.sonarqube | `4.3.0.3225` | `6.3.1.5724` |\n\nUpdates `com.google.errorprone:error_prone_core` from 2.36.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.42.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExplicitArrayForVarargs\"\u003e\u003ccode\u003eExplicitArrayForVarargs\u003c/code\u003e\u003c/a\u003e: discourage unnecessary explicit construction of an array to provide varargs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/FloggerPerWithoutRateLimit\"\u003e\u003ccode\u003eFloggerPerWithoutRateLimit\u003c/code\u003e\u003c/a\u003e: discourage Flogger's \u003ccode\u003eperUnique\u003c/code\u003e without rate limiting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/StringJoin\"\u003e\u003ccode\u003eStringJoin\u003c/code\u003e\u003c/a\u003e: Ban \u003ccode\u003eString.join(CharSequence)\u003c/code\u003e and \u003ccode\u003eString.join(CharSequence, CharSequence)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThreadBuilderNameWithPlaceholder\"\u003e\u003ccode\u003eThreadBuilderNameWithPlaceholder\u003c/code\u003e\u003c/a\u003e: Do not allow placeholders in \u003ccode\u003eThread.Builder.name(String)\u003c/code\u003e or \u003ccode\u003ename(String, int)\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe return type of \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e has changed. The previous type was \u003ccode\u003eEnumSet\u0026lt;Flags.Flag\u0026gt;\u003c/code\u003e, where \u003ccode\u003eFlags.Flag\u003c/code\u003e is an enum in the javac class \u003ccode\u003eFlags\u003c/code\u003e. A recent JDK change has replaced that enum with a new top-level enum called \u003ccode\u003eFlagsEnum\u003c/code\u003e. It is not possible to change \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e in a way that would be type-safe and compatible with the enums from JDKs both before and after the change. Instead, the method now returns \u003ccode\u003eImmutableSet\u0026lt;String\u0026gt;\u003c/code\u003e, where the strings come from the \u003ccode\u003etoString()\u003c/code\u003e of the enum constants. That means they are \u003ccode\u003e\u0026quot;native\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;abstract\u0026quot;\u003c/code\u003e, etc.\u003c/li\u003e\n\u003cli\u003eFlag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ca href=\"https://errorprone.info/bugpattern/SystemOut\"\u003e\u003ccode\u003eSystemOut\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.41.0...v2.42.0\"\u003ehttps://github.com/google/error-prone/compare/v2.41.0...v2.42.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.41.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/EffectivelyPrivate\"\u003eEffectivelyPrivate\u003c/a\u003e: Detect declarations that have \u003ccode\u003epublic\u003c/code\u003e or \u003ccode\u003eprotected\u003c/code\u003e modifiers, but are effectively private\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip BooleanLiteral findings if the target type is boxed (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5134\"\u003e#5134\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.40.0...v2.41.0\"\u003ehttps://github.com/google/error-prone/compare/v2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.40.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and improvements\u003c/li\u003e\n\u003cli\u003eReleases (including snapshots) have migrated from \u003ca href=\"https://central.sonatype.org/pages/ossrh-eol/#process-to-migrate\"\u003eOSSRH to the Central Publisher Portal\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.39.0...v2.40.0\"\u003ehttps://github.com/google/error-prone/compare/v2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.39.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTemporarily downgrade to Guava 33.4.0 (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5108\"\u003e#5108\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChecks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BooleanLiteral\"\u003e\u003ccode\u003eBooleanLiteral\u003c/code\u003e\u003c/a\u003e: Prefer \u003ccode\u003etrue\u003c/code\u003e to \u003ccode\u003eBoolean.TRUE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExpensiveLenientFormatString\"\u003e\u003ccode\u003eExpensiveLenientFormatString\u003c/code\u003e\u003c/a\u003e: Renamed from \u003ccode\u003ePreconditionsExpensiveString\u003c/code\u003e, detects unnecessary calls to \u003ccode\u003eString.format\u003c/code\u003e in the arguments of lenient formatting methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/UnnecessaryQualifier\"\u003e\u003ccode\u003eUnnecessaryQualifier\u003c/code\u003e\u003c/a\u003e: Detects \u003ccode\u003e@Qualifier\u003c/code\u003e or \u003ccode\u003e@BindingAnnotation\u003c/code\u003e annotations that have no effect, and can be removed\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/4996\"\u003e#4996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5045\"\u003e#5045\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.38.0...v2.39.0\"\u003ehttps://github.com/google/error-prone/compare/v2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.38.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/google/error-prone/commit/52b61801ceacc31be26261a14e4eb95bee68cdd8\"\u003e\u003ccode\u003e52b6180\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/691c64a24ac430fa26a69ff3ae62fdba0346e0df\"\u003e\u003ccode\u003e691c64a\u003c/code\u003e\u003c/a\u003e Flag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ccode\u003eSystemOut\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/0b751cd69ac278d63686a776cd55a067b7bff7ae\"\u003e\u003ccode\u003e0b751cd\u003c/code\u003e\u003c/a\u003e ExpicitArrayForVarargs: flag unnecessary explicit construction of an array to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/982fe208c273cc82e838efbbc9c001b857cd239e\"\u003e\u003ccode\u003e982fe20\u003c/code\u003e\u003c/a\u003e Tweak links to point to newer versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a2df97f0d3842e1d45f26bf085a3a95f273346be\"\u003e\u003ccode\u003ea2df97f\u003c/code\u003e\u003c/a\u003e [StatementSwitchToExpressionSwitch] fix bug where \u003ccode\u003ecase null\u003c/code\u003e can sometimes b...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/e691be588c891d4fc10cb41f019960accd21db2d\"\u003e\u003ccode\u003ee691be5\u003c/code\u003e\u003c/a\u003e Fix (behind a flag) a silly bug in RedundantSetterCall.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/ce1a422f3f92a9a9c6434a9e0e00df5ce9877df2\"\u003e\u003ccode\u003ece1a422\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eDurations.wait()\u003c/code\u003e to \u003ccode\u003eWaitMatchers.waitMethodWithTimeout\u003c/code\u003e (and make them...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da03fea47dd31b1a63932d78f3d91fb383cce8d1\"\u003e\u003ccode\u003eda03fea\u003c/code\u003e\u003c/a\u003e Update MethodCanBeStatic to be able to detect and trigger on Guice \u003ca href=\"https://github.com/Provides\"\u003e\u003ccode\u003e@​Provides\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/83e6582d6333d2e2d5e5f2f279c630d54ae65fae\"\u003e\u003ccode\u003e83e6582\u003c/code\u003e\u003c/a\u003e RedundantSetterCall: note that setFooValue and setFooBytes can be aliases for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/db62c8c27ec5984058788547958f2f7c8d1bee95\"\u003e\u003ccode\u003edb62c8c\u003c/code\u003e\u003c/a\u003e Automated rollback of commit e1b16e24461d90f2b11f8213a68bfccc0426d4f3.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.36.0...v2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `biz.aQute.bnd:biz.aQute.bnd.annotation` from 6.4.1 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/bndtools/bnd/releases\"\u003ebiz.aQute.bnd:biz.aQute.bnd.annotation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBnd/Bndtools 7.1.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.1.0\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBnd/Bndtools 7.0.0\u003c/h2\u003e\n\u003cp\u003eThis is the first release on Java 17.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.0.0\"\u003eRelease Notes\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/bndtools/bnd/commit/47e504d7881ba466703c55a8dca7b0578561582d\"\u003e\u003ccode\u003e47e504d\u003c/code\u003e\u003c/a\u003e Build Release 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/c3ff1490e5a2d72336e28920711ec0d024c4a801\"\u003e\u003ccode\u003ec3ff149\u003c/code\u003e\u003c/a\u003e build: Build release 7.1.0.RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/2fc3187b1be2e04e78e4056b6c2efae406646b5b\"\u003e\u003ccode\u003e2fc3187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6363\"\u003e#6363\u003c/a\u003e from laeubi/process_with_conditional_package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/cd347e1202077e625bbdd5dadc158adb49e504db\"\u003e\u003ccode\u003ecd347e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6365\"\u003e#6365\u003c/a\u003e from bndtools/dependabot/github_actions/ruby/setup-r...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/9aa57efecc7e026646e279307d23ea5edb089e57\"\u003e\u003ccode\u003e9aa57ef\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.201.0 to 1.202.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/ec0fea78a246e66430db06e0e8ad0423ffb59dc2\"\u003e\u003ccode\u003eec0fea7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6361\"\u003e#6361\u003c/a\u003e from bndtools/dependabot/github_actions/github/codeq...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/396262634e86aad490df4b43150f3c903c60973f\"\u003e\u003ccode\u003e3962626\u003c/code\u003e\u003c/a\u003e Add testcase for conditional packages with bnd-process\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/fe9a874b3be6e6c2d86625afa55985d1b89c6199\"\u003e\u003ccode\u003efe9a874\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.27.0 to 3.27.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/e3c95f878d3266b872d5ce3ea81b07e8a99e3f8e\"\u003e\u003ccode\u003ee3c95f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6360\"\u003e#6360\u003c/a\u003e from pkriens/issue/6346-gradle-reference-to-project-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/aac92718e6b5021548ff6782871a1841f041eee5\"\u003e\u003ccode\u003eaac9271\u003c/code\u003e\u003c/a\u003e Added a method to get the Macro references from a Processor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bndtools/bnd/compare/6.4.1...7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commons-codec:commons-codec` from 1.15 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt\"\u003ecommons-codec:commons-codec's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons Codec 1.19.0 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons Codec team is pleased to announce the release of Apache Commons Codec 1.19.0.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons Codec component contains encoders and decoders for\nformats such as Base16, Base32, Base64, digest, and Hexadecimal. In addition to these\nwidely used encoders and decoders, the codec package also maintains a\ncollection of phonetic encoding utilities.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add HmacUtils.hmac(Path). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add HmacUtils.hmacHex(Path). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add PMD check to the default Maven goal. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add SpotBugs check to the default Maven goal. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Remove -nouses directive from maven-bundle-plugin. OSGi package imports now state 'uses' definitions for package imports, this doesn't affect JPMS (from org.apache.commons:commons-parent:80). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Refactor DigestUtils.updateDigest(MessageDigest, File) to use NIO. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCODEC-328:  Clarify Javadoc for org.apache.commons.codec.digest.UnixCrypt.crypt(byte[],String). Thanks to Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in DaitchMokotoffSoundex.Rule. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in DaitchMokotoffSoundex.parseRules(Scanner, String, Map, Map). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in Lang.loadFromResource(String, Languages). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in PhoneticEngine.encode(String, LanguageSet). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in org.apache.commons.codec.language.bm.Rule.parse*(*). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Remove redundant checks for whitespace in DaitchMokotoffSoundex.soundex(String, boolean). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Javadoc typo in Base16.java [#380](https://github.com/apache/commons-codec/issues/380). Thanks to Sebastian Baunsgaard.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Deprecate unused constant org.apache.commons.codec.language.bm.Rule.ALL. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCODEC-331:  org.apache.commons.codec.language.bm.Rule.parsePhonemeExpr(String) adds duplicate empty phoneme when input ends with |. Thanks to IlikeCode, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCODEC-331:  org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String) does not remove special characters like punctuation. Thanks to IlikeCode, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD multiple UnnecessaryFullyQualifiedName in org.apache.commons.codec.binary.StringUtils. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD UnusedFormalParameter in private constructor in org.apache.commons.codec.binary.Base16. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD multiple UnnecessaryFullyQualifiedName in org.apache.commons.codec.digest.Blake3. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD UnnecessaryFullyQualifiedName in org.apache.commons.codec.digest.Md5Crypt. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD EmptyControlStatement in org.apache.commons.codec.language.Metaphone. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix SpotBugs [ERROR] Medium: org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder.setEncodeTable(byte[]) may expose internal representation by storing an externally mutable object into BaseNCodec$AbstractBuilder.encodeTable [org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder] At BaseNCodec.java:[line 131] EI_EXPOSE_REP2. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        The method org.apache.commons.codec.binary.BaseNCodec.AbstractBuilder.setLineSeparator(byte...) now makes a defensive copy. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Avoid unnecessary String conversion in org.apache.commons.codec.language.bm.PhoneticEngine.applyFinalRules(PhonemeBuilder, Map). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix SpotBugs [ERROR] High: Potentially dangerous use of non-short-circuit logic in org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String) [org.apache.commons.codec.language.DaitchMokotoffSoundex] At DaitchMokotoffSoundex.java:[line 350] NS_DANGEROUS_NON_SHORT_CIRCUIT. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\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/apache/commons-codec/commit/351cb22e1e1948aaabb39a463dce631bea156125\"\u003e\u003ccode\u003e351cb22\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.19.0 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/0d501b60e50ea50e247d8d804945b9a39974ed52\"\u003e\u003ccode\u003e0d501b6\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/d6d4b824539b0d4794200d05286fd3de1ff2f236\"\u003e\u003ccode\u003ed6d4b82\u003c/code\u003e\u003c/a\u003e Refactor duplicate code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/6d6456ca94448ba8ea105e697e3f89a67f3cb7c1\"\u003e\u003ccode\u003e6d6456c\u003c/code\u003e\u003c/a\u003e No need to exclude abstract test classes from Surefire runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/22d62e41374cfe558f995fd2c0f490e6f93339d6\"\u003e\u003ccode\u003e22d62e4\u003c/code\u003e\u003c/a\u003e No need to specify the default value for linkXref\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/c4daf34d4aeb1193ba8feab437b86a871c6b123d\"\u003e\u003ccode\u003ec4daf34\u003c/code\u003e\u003c/a\u003e No longer need to override the version of the Jacoco Maven plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/8f2b67337af5dc40a3701346c6302ab0cf5ca554\"\u003e\u003ccode\u003e8f2b673\u003c/code\u003e\u003c/a\u003e Remove workaround for [SUREFIRE-2253]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/466a61d3f957a9a0727937b3772dc6880db22f01\"\u003e\u003ccode\u003e466a61d\u003c/code\u003e\u003c/a\u003e Fix Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/ca27bd30b6170561786d421eb48f1535dc41336f\"\u003e\u003ccode\u003eca27bd3\u003c/code\u003e\u003c/a\u003e Fix Checkstyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/1dfb4e5bbdc604dc72fe671fded50a5c91bc7543\"\u003e\u003ccode\u003e1dfb4e5\u003c/code\u003e\u003c/a\u003e Better internal method name\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-codec/compare/rel/commons-codec-1.15...rel/commons-codec-1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.bonigarcia:webdrivermanager` from 5.7.0 to 6.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bonigarcia/webdrivermanager/blob/master/CHANGELOG.md\"\u003eio.github.bonigarcia:webdrivermanager's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.3.2] - 2025-09-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConsume stdout/stderr asynchronously and add timeout for shell execution (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix logic to find msedgedriver from XML responses (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1510\"\u003e#1510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix condition to check external connections in download logic\u003c/li\u003e\n\u003cli\u003eFix logic to ignore versions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChanged log level for shell result to trace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.3.1] - 2025-09-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCheck webdriver list before accesing recording in base64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.3.0] - 2025-09-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude getRecordingBase64() in the WebDriverManager API\u003c/li\u003e\n\u003cli\u003eInclude workflows to release WebDriverManager in Maven Central and doc in GH Pages\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump to BrowserWatcher 2.1.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.2.0] - 2025-07-18\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude getResolvedBrowserVersion() in the WebDriverManager API (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Edge driver url (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1489\"\u003e#1489\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.1.1] - 2025-07-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude --disable-features=DisableLoadExtensionCommandLineSwitch to load BrowserWatcher\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate configuration to publish artifacts in Maven Central\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.1.0] - 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWait for extension recording (WEBM) in the Downloads folder\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/bonigarcia/webdrivermanager/commit/c46a9ca4b2649929801b94b8ceea74ab19e3e403\"\u003e\u003ccode\u003ec46a9ca\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release webdrivermanager-6.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/ee694cb6120f65a074313c22fca8844163c9414f\"\u003e\u003ccode\u003eee694cb\u003c/code\u003e\u003c/a\u003e Use mvn versions:revert when creating fat jar in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/cfc2055ba282f3640bd70b10e50920df551c4b9f\"\u003e\u003ccode\u003ecfc2055\u003c/code\u003e\u003c/a\u003e Set SNAPSHOT in pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/eb379305943b8e7e8b8b85470c75b6ae375fdbe2\"\u003e\u003ccode\u003eeb37930\u003c/code\u003e\u003c/a\u003e Fix logic to ignore versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/f287725816bd9e1bea3dd572dd099d77c7972070\"\u003e\u003ccode\u003ef287725\u003c/code\u003e\u003c/a\u003e Minor smell-fixes and formatting in Shell class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/035c7d8676a18b32f4258be59c876cf45e5cb0e7\"\u003e\u003ccode\u003e035c7d8\u003c/code\u003e\u003c/a\u003e Fix condition to check external connections in download logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/1ae5992f33a5fde6b1fb2c3603fda4100935d6dc\"\u003e\u003ccode\u003e1ae5992\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 6.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/c97df1b74d61c2f49ce676a3c2507cb0b6581a0d\"\u003e\u003ccode\u003ec97df1b\u003c/code\u003e\u003c/a\u003e Fix logic to find msedgedriver from XML responses (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1510\"\u003e#1510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/a16be69dad6cf59971b4aa41eab14f3f490b1311\"\u003e\u003ccode\u003ea16be69\u003c/code\u003e\u003c/a\u003e Generate fat jar first in the release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/6756ffbd57287ec662656604f9ce726aec240240\"\u003e\u003ccode\u003e6756ffb\u003c/code\u003e\u003c/a\u003e Update mirror info (Fri Sep 12 00:08:03 UTC 2025)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bonigarcia/webdrivermanager/compare/webdrivermanager-5.7.0...webdrivermanager-6.3.2\"\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.2 to 1.21.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup 1.21.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.2\u003c/strong\u003e is out now, adding support for custom \u003ccode\u003eSSLContext\u003c/code\u003e in HTTP/2 connections, and improving consistency in how user data is handled in attributes. It also brings performance gains in DOM manipulation and fragment parsing, and fixes several edge cases in stream parsing, traversal, cloning, and concurrent reads.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ejsoup 1.21.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.1\u003c/strong\u003e is out now, featuring powerful new node selection capabilities that let you target specific DOM nodes like comments and text nodes using CSS selectors, dynamic tag customization through the new TagSet callback system, and improved defense against mutation XSS attacks with simplified attribute escaping. This release also brings HTTP/2 support by default, numerous API improvements for better developer experience, and fixes for several edge-case parsing issues.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; type)\u003c/code\u003e method instead. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull(Object)\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull(T)\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; nodeType)\u003c/code\u003e for direct node selection. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2330\"\u003e#2330\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection.Response#readBody()\u003c/code\u003e over \u003ccode\u003eConnection.Response#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\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\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.21.2 (2025-Aug-25)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.1 (2025-Jun-23)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class type)\u003c/code\u003e method instead. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class nodeType)\u003c/code\u003e for direct node selection. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace).\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection#readBody()\u003c/code\u003e over \u003ccode\u003eConnection#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe contents of a \u003ccode\u003escript\u003c/code\u003e in a \u003ccode\u003esvg\u003c/code\u003e foreign context should be parsed as script data, not text. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2320\"\u003e#2320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTag#isFormSubmittable()\u003c/code\u003e was updating the Tag's options. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2323\"\u003e#2323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML pretty-printer would incorrectly trim whitespace when text followed an inline element in a block element. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2325\"\u003e#2325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom tags with hyphens or other non-letter characters in their names now work correctly as Data or RcData tags. Their closing tags are now tokenized properly. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2332\"\u003e#2332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen cloning an Element, the clone would retain the source's cached child Element list (if any), which could lead to incorrect results when modifying the clone's child elements. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2334\"\u003e#2334\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/b02837b6c77b94799c055f8fa446fb770bfb49f1\"\u003e\u003ccode\u003eb02837b\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.21.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1f0c2070e78b5d171c4e5896930c612c58474608\"\u003e\u003ccode\u003e1f0c207\u003c/code\u003e\u003c/a\u003e v1.21.2 release date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/b0934637750ed6ddd91bf344842c8c5aad1fb70f\"\u003e\u003ccode\u003eb093463\u003c/code\u003e\u003c/a\u003e Use central-publishing-maven-plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/615b9592ffe8e65b4e461f7727081995931154ce\"\u003e\u003ccode\u003e615b959\u003c/code\u003e\u003c/a\u003e Updating sonatype deploy URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/69617205f80df06acf2adb38fd8a19f3724b6845\"\u003e\u003ccode\u003e6961720\u003c/code\u003e\u003c/a\u003e Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2386\"\u003e#2386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/82864b246c0005cc66a50daede3568f930504030\"\u003e\u003ccode\u003e82864b2\u003c/code\u003e\u003c/a\u003e Bump jetty.version from 9.4.57.v20241219 to 9.4.58.v20250814 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2385\"\u003e#2385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/71f963ea3a78746fc2a3ba80b2843254b35c211a\"\u003e\u003ccode\u003e71f963e\u003c/code\u003e\u003c/a\u003e Fix for HTML that breaks the select scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/6b20f6e3d158d1ce3147c4e9306d9b485e083bf4\"\u003e\u003ccode\u003e6b20f6e\u003c/code\u003e\u003c/a\u003e Removed effective recursion closing \u003ccode\u003e\\\u0026lt;/select\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/eb2957a8b3e8c12649c5b83872a238dd74e68dec\"\u003e\u003ccode\u003eeb2957a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2382\"\u003e#2382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/3a9a6c7c8a67d51ebbb598495496e28dcd0c18e1\"\u003e\u003ccode\u003e3a9a6c7\u003c/code\u003e\u003c/a\u003e Fix ProxyTest in CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.17.2...jsoup-1.21.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.infradna.tool:bridge-method-annotation` from 1.18 to 1.24\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/90b05fc5d86b8e9362bbb31ccc37b28abdc67e52\"\u003e\u003ccode\u003e90b05fc\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1e3123cf4feaa612e6aa77ccf1a12cfd61a473a9\"\u003e\u003ccode\u003e1e3123c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/29\"\u003e#29\u003c/a\u003e from basil/asm-9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/c89b1025f3a4808e3d03a8a84b3f4ece06b96bf1\"\u003e\u003ccode\u003ec89b102\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.2 to 9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a60c63572dbb7a1d1aa91b5fbb0866517db88836\"\u003e\u003ccode\u003ea60c635\u003c/code\u003e\u003c/a\u003e Replaced by README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/8a5b5e9c6d5036aa492e43d3552b40cba07e5d8b\"\u003e\u003ccode\u003e8a5b5e9\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/677782c5cd7b3df04755b6f515c184748b019770\"\u003e\u003ccode\u003e677782c\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/jenkinsci/bridge-method-injector/commit/4682998f65e92142b9b3b185c63eb40ea0ed8c07\"\u003e\u003ccode\u003e4682998\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a2c094ff373921db7d71551d8f3fcd868c56e467\"\u003e\u003ccode\u003ea2c094f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/27\"\u003e#27\u003c/a\u003e from basil/asm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/cd1a8efd21354ac75447e338eee3298b7aa2386a\"\u003e\u003ccode\u003ecd1a8ef\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.0 to 9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1567095d18f443e5cbeb4593520f6fc0345b32fb\"\u003e\u003ccode\u003e1567095\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/infradna/bridge-method-injector/compare/bridge-method-injector-parent-1.18...bridge-method-injector-parent-1.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.kohsuke:github-api` from 1.303 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.303...github-api-1.330\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.github.spotbugs:spotbugs-annotations` from 3.1.12 to 4.9.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spotbugs/spotbugs/releases\"\u003ecom.github.spotbugs:spotbugs-annotations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.6\u003c/h2\u003e\n\u003cp\u003eSpotBugs 4.9.6\u003c/p\u003e\n\u003ch3\u003eCHANGELOG\u003c/h3\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e method calls (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCHECKSUM\u003c/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003efile\u003c/th\u003e\n\u003cth\u003echecksum (sha256)\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003eb4b9373ad6f22ad2547a8274501f87b01e2428c30aabaea3aeec3f9095636e24\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e89687b6e685c9a07f7faf49f29b832fb861884f2160947eb4396498cdbb33cc4\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6.tgz\u003c/td\u003e\n\u003ctd\u003e55aa9b9e3deef0391be285335dcf134d1ce54aae222bba1da757eaa616108957\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-4.9.6.zip\u003c/td\u003e\n\u003ctd\u003e86fb3f93c4147383f76fe21ab2807956b34cf17108a42a76311efa4977f952cc\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e4c9f8027f6a2313ef22347f4832e5dccc9c58d350d1bd5bff4d5a53f37e1c220\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e075b2eed660c2fe2fb1ad1de028f8fdff5f358e25c1318706b95ab17bb28be44\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-annotations.jar\u003c/td\u003e\n\u003ctd\u003e523d394a6b36174ad0a22f0c1c75b105ccff42869a8b7ce86e7fd339ca6f86ce\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e9b510af8cd3a5c62560fe544b730ebf44cbb109e085fe526add155258612273c\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e91477d93b1fd1bebae35d318427b5238fb458e726478dc1a8ac41ce74838a1e6\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs-ant.jar\u003c/td\u003e\n\u003ctd\u003e22f2fa397e86663adcd4828cc1c91e63aa6cc2bfc56832885b749a86fac5c784\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003espotbugs.jar\u003c/td\u003e\n\u003ctd\u003e62a0def31899338200fc9013b4db8a8aedfc3536ca7d70d59038b092dfaa6819\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003ebdcef7587312fb9a85d0d292623ea1a779bfe8b9a5e321d73bb8ad92ce79ed0a\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e805d2d124b0d4ea513ee9262d4ad6027c3471d45defd80fd7d20e23425d17df7\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e0076a3bc9602c78d73edb048e625a96ee6a182fa3dd39300aa739af67b954189\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e7d7a7d6944e7199e06384104b163c11145ed60dd567fefd9b788f3ac03770e18\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e656579431db1b2714faeeca3c3d59426e2ffdfdb0725546b4090f993d2413eeb\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-core-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e66db286ae1dd056458c1e0303a8e2f81fe95a2c5d2888172a3ed17e993434bf1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6-javadoc.jar\u003c/td\u003e\n\u003ctd\u003e8925836d7d1198ec223c4ff5118fd596278df4157d910eb767f7f312a7df8904\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6-sources.jar\u003c/td\u003e\n\u003ctd\u003e59bbb8581ed4bdd212a669d94ec363b6c1d6df9276a608359c66d7f0c1688279\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003etest-harness-jupiter-4.9.6.jar\u003c/td\u003e\n\u003ctd\u003e0582a99bdc66e24c7e36753014729149189fd27129ec5a2f38a8d67457bc9696\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch2\u003eSpotBugs 4.9.5\u003c/h2\u003e\n\u003ch3\u003eCHANGELOG\u003c/h3\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix for an error when a record method has the \u003ccode\u003e@SuppressFBWarnings\u003c/code\u003e annotation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3622\"\u003e#3622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSF_SWITCH_FALLTHROUGH\u003c/code\u003e false positive when continuing a loop (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCWO_CLOSED_WITHOUT_OPENED\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSF_SWITCH_NO_DEFAULT\u003c/code\u003e false positive fix for switch-arrow (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the issue with BCEL logging \u003ccode\u003eDuplicating value: ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing jakarta support for servlets / pre/post destroy (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3694\"\u003e#3694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'java.nio.file.Path.of' to known types for path traversal checks (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3699\"\u003e#3699\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCleanup\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eS1481: Unused local variables should be removed (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3654\"\u003e#3654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved test libraries to jakarta namespace including switching off jsr305 where possible for jakarta.annotatoin (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3695\"\u003e#3695\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCHECKSUM\u003c/h3\u003e\n\u003cp\u003e| file | checksum (sha256) |\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/spotbugs/spotbugs/blob/master/CHANGELOG.md\"\u003ecom.github.spotbugs:spotbugs-annotations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.9.6 - 2025-09-16\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix exception throw when analyzing \u003ccode\u003ejakarta.servlet.http.HttpServletRequest\u003c/code\u003e method calls (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.5 - 2025-09-14\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix for an error when a record method has the \u003ccode\u003e@SuppressFBWarnings\u003c/code\u003e annotation (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3622\"\u003e#3622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSF_SWITCH_FALLTHROUGH\u003c/code\u003e false positive when continuing a loop (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3617\"\u003e#3617\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCWO_CLOSED_WITHOUT_OPENED\u003c/code\u003e false positive (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSF_SWITCH_NO_DEFAULT\u003c/code\u003e false positive fix for switch-arrow (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3645\"\u003e#3645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the issue with BCEL logging \u003ccode\u003eDuplicating value: ...\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/issues/3621\"\u003e#3621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing jakarta support for servlets / pre/post destroy (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3694\"\u003e#3694\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'java.nio.file.Path.of' to known types for path traversal checks (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3699\"\u003e#3699\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCleanup\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eS1481: Unused local variables should be removed (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3654\"\u003e#3654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMoved test libraries to jakarta namespace including switching off jsr305 where possible for jakarta.annotatoin (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3695\"\u003e#3695\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.9.4 - 2025-08-07\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAnnotationMatcher\u003c/code\u003e can now ignore bugs if annotation is also applied on methods or fields. Previously only annotations on classes were considered.\u003c/li\u003e\n\u003cli\u003eAdd relevant CWE ids to bugs and refer the CWEs in the bug messages (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3354\"\u003e#3354\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eLOCAL_VARIABLE_UNKNOWN\u003c/code\u003e with exact method name for \u003ccode\u003eNP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3485\"\u003e#3485\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWiden main method recognition according to \u003ca href=\"https://openjdk.org/jeps/445\"\u003eJEP 445\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/spotbugs/spotbugs/pull/3371\"\u003e#3371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDo not re...\n\n_Description has been truncated_","html_url":"https://github.com/ricekot/zap-extensions/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricekot%2Fzap-extensions/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":"1.303","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2025-10-03T04:18:22.000Z","version_change":"1.303 → 1.330","issue":{"uuid":"2883750735","node_id":"PR_kwDODf4ejs6r4otP","number":6,"state":"open","title":"build(deps): bump the gradle group with 59 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-03T04:18:22.000Z","updated_at":"2025-10-03T09:46:24.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":59,"packages":[{"name":"com.google.errorprone:error_prone_core","old_version":"2.36.0","new_version":"2.42.0","repository_url":"https://github.com/google/error-prone"},{"name":"biz.aQute.bnd:biz.aQute.bnd.annotation","old_version":"6.4.1","new_version":"7.1.0","repository_url":"https://github.com/bndtools/bnd"},{"name":"commons-codec:commons-codec","old_version":"1.15","new_version":"1.19.0","repository_url":"https://github.com/apache/commons-codec"},{"name":"io.github.bonigarcia:webdrivermanager","old_version":"5.7.0","new_version":"6.3.2","repository_url":"https://github.com/bonigarcia/webdrivermanager"},{"name":"com.diffplug.spotless:spotless-plugin-gradle","old_version":"6.25.0","new_version":"8.0.0","repository_url":"https://github.com/diffplug/spotless"},{"name":"com.diffplug.spotless","old_version":"6.25.0","new_version":"8.0.0"},{"name":"org.jsoup:jsoup","old_version":"1.17.2","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.infradna.tool:bridge-method-annotation","old_version":"1.18","new_version":"1.24","repository_url":"https://github.com/infradna/bridge-method-injector"},{"name":"org.kohsuke:github-api","old_version":"1.303","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.github.spotbugs:spotbugs-annotations","old_version":"3.1.12","new_version":"4.9.6","repository_url":"https://github.com/spotbugs/spotbugs"},{"name":"org.apache.commons:commons-collections4","old_version":"4.4","new_version":"4.5.0"},{"name":"org.apache.commons:commons-csv","old_version":"1.10.0","new_version":"1.14.1","repository_url":"https://github.com/apache/commons-csv"},{"name":"commons-io:commons-io","old_version":"2.16.1","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.fasterxml.jackson:jackson-bom","old_version":"2.19.1","new_version":"2.20.0","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"org.datanucleus:datanucleus-accessplatform-jdo-rdbms","old_version":"6.0.7","new_version":"6.0.10","repository_url":"https://github.com/datanucleus/datanucleus-accessplatform"},{"name":"org.flywaydb:flyway-core","old_version":"9.22.3","new_version":"11.13.2","repository_url":"https://github.com/flyway/flyway"},{"name":"org.xerial:sqlite-jdbc","old_version":"3.45.3.0","new_version":"3.50.3.0","repository_url":"https://github.com/xerial/sqlite-jdbc"},{"name":"de.sstoehr:har-reader","old_version":"3.1.4","new_version":"3.1.6","repository_url":"https://github.com/sdstoehr/har-reader"},{"name":"io.hektor:hektor-fsm","old_version":"0.0.5","new_version":"0.0.8","repository_url":"https://github.com/sniceio/hektor"},{"name":"com.github.curious-odd-man:rgxgen","old_version":"2.0","new_version":"3.1","repository_url":"https://github.com/curious-odd-man/RgxGen"},{"name":"com.natpryce:snodge","old_version":"2.1.2.2","new_version":"3.7.0.0","repository_url":"https://github.com/npryce/snodge"},{"name":"org.codehaus.groovy:groovy-all","old_version":"3.0.14","new_version":"3.0.25","repository_url":"https://github.com/apache/groovy"},{"name":"io.grpc:grpc-protobuf","old_version":"1.61.1","new_version":"1.75.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"org.jruby:jruby-complete","old_version":"1.7.4","new_version":"10.0.2.0"},{"name":"org.python:jython-standalone","old_version":"2.7.2","new_version":"2.7.4","repository_url":"https://github.com/jython/jython"},{"name":"dev.langchain4j:langchain4j","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-azure-open-ai","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"dev.langchain4j:langchain4j-ollama","old_version":"0.35.0","new_version":"1.7.1","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"org.apache.logging.log4j:log4j-core","old_version":"2.24.2","new_version":"2.25.2"},{"name":"org.apache.logging.log4j:log4j-slf4j-impl","old_version":"2.24.2","new_version":"2.25.2"},{"name":"org.apache.logging.log4j:log4j-slf4j2-impl","old_version":"2.24.2","new_version":"2.25.2"},{"name":"org.htmlunit:htmlunit-csp","old_version":"4.0.0","new_version":"4.16.0","repository_url":"https://github.com/HtmlUnit/htmlunit-csp"},{"name":"com.google.re2j:re2j","old_version":"1.7","new_version":"1.8","repository_url":"https://github.com/google/re2j"},{"name":"org.xhtmlrenderer:flying-saucer-pdf","old_version":"9.3.1","new_version":"10.0.0","repository_url":"https://github.com/flyingsaucerproject/flyingsaucer"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.2.RELEASE","new_version":"3.1.3.RELEASE"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"2.3.2","new_version":"4.0.6"},{"name":"net.bytebuddy:byte-buddy","old_version":"1.14.13","new_version":"1.17.7","repository_url":"https://github.com/raphw/byte-buddy"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.19.0"},{"name":"org.seleniumhq.selenium:htmlunit3-driver","old_version":"4.34.0","new_version":"4.35.0","repository_url":"https://github.com/SeleniumHQ/htmlunit-driver"},{"name":"org.seleniumhq.selenium:selenium-java","old_version":"4.35.0","new_version":"4.36.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"jakarta.xml.soap:jakarta.xml.soap-api","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/jakartaee/saaj-api"},{"name":"com.sun.xml.messaging.saaj:saaj-impl","old_version":"3.0.0","new_version":"3.0.4"},{"name":"com.predic8:soa-model-core","old_version":"2.0.1","new_version":"2.2.0","repository_url":"https://github.com/membrane/soa-model"},{"name":"io.kaitai:kaitai-struct-runtime","old_version":"0.10","new_version":"0.11","repository_url":"https://github.com/kaitai-io/kaitai_struct_java_runtime"},{"name":"com.google.inject.extensions:guice-assistedinject","old_version":"5.0.1","new_version":"7.0.0"},{"name":"org.slf4j:jcl-over-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:jul-to-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:slf4j-log4j12","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.hamcrest:hamcrest-library","old_version":"2.2","new_version":"3.0","repository_url":"https://github.com/hamcrest/JavaHamcrest"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.10.0","new_version":"5.20.0","repository_url":"https://github.com/mockito/mockito"},{"name":"io.github.bonigarcia:selenium-jupiter","old_version":"5.1.1","new_version":"6.3.1","repository_url":"https://github.com/bonigarcia/selenium-jupiter"},{"name":"org.zaproxy:zap","old_version":"2.16.0","new_version":"2.16.1","repository_url":"https://github.com/zaproxy/zaproxy"},{"name":"com.github.weisj:jsvg","old_version":"1.4.0","new_version":"2.0.0","repository_url":"https://github.com/weisJ/jsvg"},{"name":"org.cyclonedx.bom","old_version":"2.2.0","new_version":"2.4.1"},{"name":"com.github.ben-manes.versions","old_version":"0.52.0","new_version":"0.53.0"},{"name":"net.ltgt.errorprone","old_version":"4.1.0","new_version":"4.3.0"},{"name":"io.freefair.lombok","old_version":"8.12.2","new_version":"9.0.0","repository_url":"https://github.com/freefair/gradle-plugins"},{"name":"org.sonarqube","old_version":"4.3.0.3225","new_version":"6.3.1.5724"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 59 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.36.0` | `2.42.0` |\n| [biz.aQute.bnd:biz.aQute.bnd.annotation](https://github.com/bndtools/bnd) | `6.4.1` | `7.1.0` |\n| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.15` | `1.19.0` |\n| [io.github.bonigarcia:webdrivermanager](https://github.com/bonigarcia/webdrivermanager) | `5.7.0` | `6.3.2` |\n| [com.diffplug.spotless:spotless-plugin-gradle](https://github.com/diffplug/spotless) | `6.25.0` | `8.0.0` |\n| com.diffplug.spotless | `6.25.0` | `8.0.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.2` | `1.21.2` |\n| [com.infradna.tool:bridge-method-annotation](https://github.com/infradna/bridge-method-injector) | `1.18` | `1.24` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.303` | `1.330` |\n| [com.github.spotbugs:spotbugs-annotations](https://github.com/spotbugs/spotbugs) | `3.1.12` | `4.9.6` |\n| org.apache.commons:commons-collections4 | `4.4` | `4.5.0` |\n| [org.apache.commons:commons-csv](https://github.com/apache/commons-csv) | `1.10.0` | `1.14.1` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.16.1` | `2.20.0` |\n| [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `2.19.1` | `2.20.0` |\n| [org.datanucleus:datanucleus-accessplatform-jdo-rdbms](https://github.com/datanucleus/datanucleus-accessplatform) | `6.0.7` | `6.0.10` |\n| [org.flywaydb:flyway-core](https://github.com/flyway/flyway) | `9.22.3` | `11.13.2` |\n| [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc) | `3.45.3.0` | `3.50.3.0` |\n| [de.sstoehr:har-reader](https://github.com/sdstoehr/har-reader) | `3.1.4` | `3.1.6` |\n| [io.hektor:hektor-fsm](https://github.com/sniceio/hektor) | `0.0.5` | `0.0.8` |\n| [com.github.curious-odd-man:rgxgen](https://github.com/curious-odd-man/RgxGen) | `2.0` | `3.1` |\n| [com.natpryce:snodge](https://github.com/npryce/snodge) | `2.1.2.2` | `3.7.0.0` |\n| [org.codehaus.groovy:groovy-all](https://github.com/apache/groovy) | `3.0.14` | `3.0.25` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.61.1` | `1.75.0` |\n| org.jruby:jruby-complete | `1.7.4` | `10.0.2.0` |\n| [org.python:jython-standalone](https://github.com/jython/jython) | `2.7.2` | `2.7.4` |\n| [dev.langchain4j:langchain4j](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-azure-open-ai](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| [dev.langchain4j:langchain4j-ollama](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.7.1` |\n| org.apache.logging.log4j:log4j-core | `2.24.2` | `2.25.2` |\n| org.apache.logging.log4j:log4j-slf4j-impl | `2.24.2` | `2.25.2` |\n| org.apache.logging.log4j:log4j-slf4j2-impl | `2.24.2` | `2.25.2` |\n| [org.htmlunit:htmlunit-csp](https://github.com/HtmlUnit/htmlunit-csp) | `4.0.0` | `4.16.0` |\n| [com.google.re2j:re2j](https://github.com/google/re2j) | `1.7` | `1.8` |\n| [org.xhtmlrenderer:flying-saucer-pdf](https://github.com/flyingsaucerproject/flyingsaucer) | `9.3.1` | `10.0.0` |\n| org.thymeleaf:thymeleaf | `3.1.2.RELEASE` | `3.1.3.RELEASE` |\n| org.glassfish.jaxb:jaxb-runtime | `2.3.2` | `4.0.6` |\n| [net.bytebuddy:byte-buddy](https://github.com/raphw/byte-buddy) | `1.14.13` | `1.17.7` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.19.0` |\n| [org.seleniumhq.selenium:htmlunit3-driver](https://github.com/SeleniumHQ/htmlunit-driver) | `4.34.0` | `4.35.0` |\n| [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) | `4.35.0` | `4.36.0` |\n| [jakarta.xml.soap:jakarta.xml.soap-api](https://github.com/jakartaee/saaj-api) | `3.0.0` | `3.0.2` |\n| com.sun.xml.messaging.saaj:saaj-impl | `3.0.0` | `3.0.4` |\n| [com.predic8:soa-model-core](https://github.com/membrane/soa-model) | `2.0.1` | `2.2.0` |\n| [io.kaitai:kaitai-struct-runtime](https://github.com/kaitai-io/kaitai_struct_java_runtime) | `0.10` | `0.11` |\n| com.google.inject.extensions:guice-assistedinject | `5.0.1` | `7.0.0` |\n| org.slf4j:jcl-over-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:jul-to-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:slf4j-log4j12 | `1.7.32` | `2.0.17` |\n| [org.hamcrest:hamcrest-library](https://github.com/hamcrest/JavaHamcrest) | `2.2` | `3.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.10.2` | `6.0.0` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.10.0` | `5.20.0` |\n| [io.github.bonigarcia:selenium-jupiter](https://github.com/bonigarcia/selenium-jupiter) | `5.1.1` | `6.3.1` |\n| [org.zaproxy:zap](https://github.com/zaproxy/zaproxy) | `2.16.0` | `2.16.1` |\n| [com.github.weisj:jsvg](https://github.com/weisJ/jsvg) | `1.4.0` | `2.0.0` |\n| org.cyclonedx.bom | `2.2.0` | `2.4.1` |\n| com.github.ben-manes.versions | `0.52.0` | `0.53.0` |\n| net.ltgt.errorprone | `4.1.0` | `4.3.0` |\n| [io.freefair.lombok](https://github.com/freefair/gradle-plugins) | `8.12.2` | `9.0.0` |\n| org.sonarqube | `4.3.0.3225` | `6.3.1.5724` |\n\nUpdates `com.google.errorprone:error_prone_core` from 2.36.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.42.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExplicitArrayForVarargs\"\u003e\u003ccode\u003eExplicitArrayForVarargs\u003c/code\u003e\u003c/a\u003e: discourage unnecessary explicit construction of an array to provide varargs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/FloggerPerWithoutRateLimit\"\u003e\u003ccode\u003eFloggerPerWithoutRateLimit\u003c/code\u003e\u003c/a\u003e: discourage Flogger's \u003ccode\u003eperUnique\u003c/code\u003e without rate limiting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/StringJoin\"\u003e\u003ccode\u003eStringJoin\u003c/code\u003e\u003c/a\u003e: Ban \u003ccode\u003eString.join(CharSequence)\u003c/code\u003e and \u003ccode\u003eString.join(CharSequence, CharSequence)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThreadBuilderNameWithPlaceholder\"\u003e\u003ccode\u003eThreadBuilderNameWithPlaceholder\u003c/code\u003e\u003c/a\u003e: Do not allow placeholders in \u003ccode\u003eThread.Builder.name(String)\u003c/code\u003e or \u003ccode\u003ename(String, int)\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe return type of \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e has changed. The previous type was \u003ccode\u003eEnumSet\u0026lt;Flags.Flag\u0026gt;\u003c/code\u003e, where \u003ccode\u003eFlags.Flag\u003c/code\u003e is an enum in the javac class \u003ccode\u003eFlags\u003c/code\u003e. A recent JDK change has replaced that enum with a new top-level enum called \u003ccode\u003eFlagsEnum\u003c/code\u003e. It is not possible to change \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e in a way that would be type-safe and compatible with the enums from JDKs both before and after the change. Instead, the method now returns \u003ccode\u003eImmutableSet\u0026lt;String\u0026gt;\u003c/code\u003e, where the strings come from the \u003ccode\u003etoString()\u003c/code\u003e of the enum constants. That means they are \u003ccode\u003e\u0026quot;native\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;abstract\u0026quot;\u003c/code\u003e, etc.\u003c/li\u003e\n\u003cli\u003eFlag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ca href=\"https://errorprone.info/bugpattern/SystemOut\"\u003e\u003ccode\u003eSystemOut\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.41.0...v2.42.0\"\u003ehttps://github.com/google/error-prone/compare/v2.41.0...v2.42.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.41.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/EffectivelyPrivate\"\u003eEffectivelyPrivate\u003c/a\u003e: Detect declarations that have \u003ccode\u003epublic\u003c/code\u003e or \u003ccode\u003eprotected\u003c/code\u003e modifiers, but are effectively private\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip BooleanLiteral findings if the target type is boxed (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5134\"\u003e#5134\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.40.0...v2.41.0\"\u003ehttps://github.com/google/error-prone/compare/v2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.40.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and improvements\u003c/li\u003e\n\u003cli\u003eReleases (including snapshots) have migrated from \u003ca href=\"https://central.sonatype.org/pages/ossrh-eol/#process-to-migrate\"\u003eOSSRH to the Central Publisher Portal\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.39.0...v2.40.0\"\u003ehttps://github.com/google/error-prone/compare/v2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.39.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTemporarily downgrade to Guava 33.4.0 (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5108\"\u003e#5108\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChecks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BooleanLiteral\"\u003e\u003ccode\u003eBooleanLiteral\u003c/code\u003e\u003c/a\u003e: Prefer \u003ccode\u003etrue\u003c/code\u003e to \u003ccode\u003eBoolean.TRUE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExpensiveLenientFormatString\"\u003e\u003ccode\u003eExpensiveLenientFormatString\u003c/code\u003e\u003c/a\u003e: Renamed from \u003ccode\u003ePreconditionsExpensiveString\u003c/code\u003e, detects unnecessary calls to \u003ccode\u003eString.format\u003c/code\u003e in the arguments of lenient formatting methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/UnnecessaryQualifier\"\u003e\u003ccode\u003eUnnecessaryQualifier\u003c/code\u003e\u003c/a\u003e: Detects \u003ccode\u003e@Qualifier\u003c/code\u003e or \u003ccode\u003e@BindingAnnotation\u003c/code\u003e annotations that have no effect, and can be removed\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/4996\"\u003e#4996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5045\"\u003e#5045\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.38.0...v2.39.0\"\u003ehttps://github.com/google/error-prone/compare/v2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.38.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/google/error-prone/commit/52b61801ceacc31be26261a14e4eb95bee68cdd8\"\u003e\u003ccode\u003e52b6180\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/691c64a24ac430fa26a69ff3ae62fdba0346e0df\"\u003e\u003ccode\u003e691c64a\u003c/code\u003e\u003c/a\u003e Flag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ccode\u003eSystemOut\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/0b751cd69ac278d63686a776cd55a067b7bff7ae\"\u003e\u003ccode\u003e0b751cd\u003c/code\u003e\u003c/a\u003e ExpicitArrayForVarargs: flag unnecessary explicit construction of an array to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/982fe208c273cc82e838efbbc9c001b857cd239e\"\u003e\u003ccode\u003e982fe20\u003c/code\u003e\u003c/a\u003e Tweak links to point to newer versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a2df97f0d3842e1d45f26bf085a3a95f273346be\"\u003e\u003ccode\u003ea2df97f\u003c/code\u003e\u003c/a\u003e [StatementSwitchToExpressionSwitch] fix bug where \u003ccode\u003ecase null\u003c/code\u003e can sometimes b...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/e691be588c891d4fc10cb41f019960accd21db2d\"\u003e\u003ccode\u003ee691be5\u003c/code\u003e\u003c/a\u003e Fix (behind a flag) a silly bug in RedundantSetterCall.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/ce1a422f3f92a9a9c6434a9e0e00df5ce9877df2\"\u003e\u003ccode\u003ece1a422\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eDurations.wait()\u003c/code\u003e to \u003ccode\u003eWaitMatchers.waitMethodWithTimeout\u003c/code\u003e (and make them...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da03fea47dd31b1a63932d78f3d91fb383cce8d1\"\u003e\u003ccode\u003eda03fea\u003c/code\u003e\u003c/a\u003e Update MethodCanBeStatic to be able to detect and trigger on Guice \u003ca href=\"https://github.com/Provides\"\u003e\u003ccode\u003e@​Provides\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/83e6582d6333d2e2d5e5f2f279c630d54ae65fae\"\u003e\u003ccode\u003e83e6582\u003c/code\u003e\u003c/a\u003e RedundantSetterCall: note that setFooValue and setFooBytes can be aliases for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/db62c8c27ec5984058788547958f2f7c8d1bee95\"\u003e\u003ccode\u003edb62c8c\u003c/code\u003e\u003c/a\u003e Automated rollback of commit e1b16e24461d90f2b11f8213a68bfccc0426d4f3.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.36.0...v2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `biz.aQute.bnd:biz.aQute.bnd.annotation` from 6.4.1 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/bndtools/bnd/releases\"\u003ebiz.aQute.bnd:biz.aQute.bnd.annotation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBnd/Bndtools 7.1.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.1.0\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBnd/Bndtools 7.0.0\u003c/h2\u003e\n\u003cp\u003eThis is the first release on Java 17.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.0.0\"\u003eRelease Notes\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/bndtools/bnd/commit/47e504d7881ba466703c55a8dca7b0578561582d\"\u003e\u003ccode\u003e47e504d\u003c/code\u003e\u003c/a\u003e Build Release 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/c3ff1490e5a2d72336e28920711ec0d024c4a801\"\u003e\u003ccode\u003ec3ff149\u003c/code\u003e\u003c/a\u003e build: Build release 7.1.0.RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/2fc3187b1be2e04e78e4056b6c2efae406646b5b\"\u003e\u003ccode\u003e2fc3187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6363\"\u003e#6363\u003c/a\u003e from laeubi/process_with_conditional_package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/cd347e1202077e625bbdd5dadc158adb49e504db\"\u003e\u003ccode\u003ecd347e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6365\"\u003e#6365\u003c/a\u003e from bndtools/dependabot/github_actions/ruby/setup-r...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/9aa57efecc7e026646e279307d23ea5edb089e57\"\u003e\u003ccode\u003e9aa57ef\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.201.0 to 1.202.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/ec0fea78a246e66430db06e0e8ad0423ffb59dc2\"\u003e\u003ccode\u003eec0fea7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6361\"\u003e#6361\u003c/a\u003e from bndtools/dependabot/github_actions/github/codeq...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/396262634e86aad490df4b43150f3c903c60973f\"\u003e\u003ccode\u003e3962626\u003c/code\u003e\u003c/a\u003e Add testcase for conditional packages with bnd-process\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/fe9a874b3be6e6c2d86625afa55985d1b89c6199\"\u003e\u003ccode\u003efe9a874\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.27.0 to 3.27.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/e3c95f878d3266b872d5ce3ea81b07e8a99e3f8e\"\u003e\u003ccode\u003ee3c95f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6360\"\u003e#6360\u003c/a\u003e from pkriens/issue/6346-gradle-reference-to-project-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/aac92718e6b5021548ff6782871a1841f041eee5\"\u003e\u003ccode\u003eaac9271\u003c/code\u003e\u003c/a\u003e Added a method to get the Macro references from a Processor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bndtools/bnd/compare/6.4.1...7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commons-codec:commons-codec` from 1.15 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt\"\u003ecommons-codec:commons-codec's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons Codec 1.19.0 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons Codec team is pleased to announce the release of Apache Commons Codec 1.19.0.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons Codec component contains encoders and decoders for\nformats such as Base16, Base32, Base64, digest, and Hexadecimal. In addition to these\nwidely used encoders and decoders, the codec package also maintains a\ncollection of phonetic encoding utilities.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add HmacUtils.hmac(Path). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add HmacUtils.hmacHex(Path). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add PMD check to the default Maven goal. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add SpotBugs check to the default Maven goal. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Remove -nouses directive from maven-bundle-plugin. OSGi package imports now state 'uses' definitions for package imports, this doesn't affect JPMS (from org.apache.commons:commons-parent:80). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Refactor DigestUtils.updateDigest(MessageDigest, File) to use NIO. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCODEC-328:  Clarify Javadoc for org.apache.commons.codec.digest.UnixCrypt.crypt(byte[],String). Thanks to Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in DaitchMokotoffSoundex.Rule. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in DaitchMokotoffSoundex.parseRules(Scanner, String, Map, Map). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in Lang.loadFromResource(String, Languages). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in PhoneticEngine.encode(String, LanguageSet). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in org.apache.commons.codec.language.bm.Rule.parse*(*). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Remove redundant checks for whitespace in DaitchMokotoffSoundex.soundex(String, boolean). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Javadoc typo in Base16.java [#380](https://github.com/apache/commons-codec/issues/380). Thanks to Sebastian Baunsgaard.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Deprecate unused constant org.apache.commons.codec.language.bm.Rule.ALL. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCODEC-331:  org.apache.commons.codec.language.bm.Rule.parsePhonemeExpr(String) adds duplicate empty phoneme when input ends with |. Thanks to IlikeCode, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCODEC-331:  org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String) does not remove special characters like punctuation. Thanks to IlikeCode, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD multiple UnnecessaryFullyQualifiedName in org.apache.commons.codec.binary.StringUtils. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD UnusedFormalParameter in private constructor in org.apache.commons.codec.binary.Base16. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD multiple UnnecessaryFullyQualifiedName in org.apache.commons.codec.digest.Blake3. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD UnnecessaryFullyQualifiedName in org.apache.commons.codec.digest.Md5Crypt. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD EmptyControlStatement in org.apache.commons.codec.language.Metaphone. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix SpotBugs [ERROR] Medium: org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder.setEncodeTable(byte[]) may expose internal representation by storing an externally mutable object into BaseNCodec$AbstractBuilder.encodeTable [org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder] At BaseNCodec.java:[line 131] EI_EXPOSE_REP2. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        The method org.apache.commons.codec.binary.BaseNCodec.AbstractBuilder.setLineSeparator(byte...) now makes a defensive copy. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Avoid unnecessary String conversion in org.apache.commons.codec.language.bm.PhoneticEngine.applyFinalRules(PhonemeBuilder, Map). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix SpotBugs [ERROR] High: Potentially dangerous use of non-short-circuit logic in org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String) [org.apache.commons.codec.language.DaitchMokotoffSoundex] At DaitchMokotoffSoundex.java:[line 350] NS_DANGEROUS_NON_SHORT_CIRCUIT. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\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/apache/commons-codec/commit/351cb22e1e1948aaabb39a463dce631bea156125\"\u003e\u003ccode\u003e351cb22\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.19.0 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/0d501b60e50ea50e247d8d804945b9a39974ed52\"\u003e\u003ccode\u003e0d501b6\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/d6d4b824539b0d4794200d05286fd3de1ff2f236\"\u003e\u003ccode\u003ed6d4b82\u003c/code\u003e\u003c/a\u003e Refactor duplicate code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/6d6456ca94448ba8ea105e697e3f89a67f3cb7c1\"\u003e\u003ccode\u003e6d6456c\u003c/code\u003e\u003c/a\u003e No need to exclude abstract test classes from Surefire runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/22d62e41374cfe558f995fd2c0f490e6f93339d6\"\u003e\u003ccode\u003e22d62e4\u003c/code\u003e\u003c/a\u003e No need to specify the default value for linkXref\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/c4daf34d4aeb1193ba8feab437b86a871c6b123d\"\u003e\u003ccode\u003ec4daf34\u003c/code\u003e\u003c/a\u003e No longer need to override the version of the Jacoco Maven plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/8f2b67337af5dc40a3701346c6302ab0cf5ca554\"\u003e\u003ccode\u003e8f2b673\u003c/code\u003e\u003c/a\u003e Remove workaround for [SUREFIRE-2253]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/466a61d3f957a9a0727937b3772dc6880db22f01\"\u003e\u003ccode\u003e466a61d\u003c/code\u003e\u003c/a\u003e Fix Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/ca27bd30b6170561786d421eb48f1535dc41336f\"\u003e\u003ccode\u003eca27bd3\u003c/code\u003e\u003c/a\u003e Fix Checkstyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/1dfb4e5bbdc604dc72fe671fded50a5c91bc7543\"\u003e\u003ccode\u003e1dfb4e5\u003c/code\u003e\u003c/a\u003e Better internal method name\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-codec/compare/rel/commons-codec-1.15...rel/commons-codec-1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.bonigarcia:webdrivermanager` from 5.7.0 to 6.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bonigarcia/webdrivermanager/blob/master/CHANGELOG.md\"\u003eio.github.bonigarcia:webdrivermanager's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.3.2] - 2025-09-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConsume stdout/stderr asynchronously and add timeout for shell execution (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix logic to find msedgedriver from XML responses (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1510\"\u003e#1510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix condition to check external connections in download logic\u003c/li\u003e\n\u003cli\u003eFix logic to ignore versions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChanged log level for shell result to trace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.3.1] - 2025-09-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCheck webdriver list before accesing recording in base64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.3.0] - 2025-09-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude getRecordingBase64() in the WebDriverManager API\u003c/li\u003e\n\u003cli\u003eInclude workflows to release WebDriverManager in Maven Central and doc in GH Pages\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump to BrowserWatcher 2.1.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.2.0] - 2025-07-18\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude getResolvedBrowserVersion() in the WebDriverManager API (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Edge driver url (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1489\"\u003e#1489\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.1.1] - 2025-07-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude --disable-features=DisableLoadExtensionCommandLineSwitch to load BrowserWatcher\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate configuration to publish artifacts in Maven Central\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.1.0] - 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWait for extension recording (WEBM) in the Downloads folder\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/bonigarcia/webdrivermanager/commit/c46a9ca4b2649929801b94b8ceea74ab19e3e403\"\u003e\u003ccode\u003ec46a9ca\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release webdrivermanager-6.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/ee694cb6120f65a074313c22fca8844163c9414f\"\u003e\u003ccode\u003eee694cb\u003c/code\u003e\u003c/a\u003e Use mvn versions:revert when creating fat jar in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/cfc2055ba282f3640bd70b10e50920df551c4b9f\"\u003e\u003ccode\u003ecfc2055\u003c/code\u003e\u003c/a\u003e Set SNAPSHOT in pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/eb379305943b8e7e8b8b85470c75b6ae375fdbe2\"\u003e\u003ccode\u003eeb37930\u003c/code\u003e\u003c/a\u003e Fix logic to ignore versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/f287725816bd9e1bea3dd572dd099d77c7972070\"\u003e\u003ccode\u003ef287725\u003c/code\u003e\u003c/a\u003e Minor smell-fixes and formatting in Shell class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/035c7d8676a18b32f4258be59c876cf45e5cb0e7\"\u003e\u003ccode\u003e035c7d8\u003c/code\u003e\u003c/a\u003e Fix condition to check external connections in download logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/1ae5992f33a5fde6b1fb2c3603fda4100935d6dc\"\u003e\u003ccode\u003e1ae5992\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 6.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/c97df1b74d61c2f49ce676a3c2507cb0b6581a0d\"\u003e\u003ccode\u003ec97df1b\u003c/code\u003e\u003c/a\u003e Fix logic to find msedgedriver from XML responses (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1510\"\u003e#1510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/a16be69dad6cf59971b4aa41eab14f3f490b1311\"\u003e\u003ccode\u003ea16be69\u003c/code\u003e\u003c/a\u003e Generate fat jar first in the release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/6756ffbd57287ec662656604f9ce726aec240240\"\u003e\u003ccode\u003e6756ffb\u003c/code\u003e\u003c/a\u003e Update mirror info (Fri Sep 12 00:08:03 UTC 2025)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bonigarcia/webdrivermanager/compare/webdrivermanager-5.7.0...webdrivermanager-6.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.diffplug.spotless:spotless-plugin-gradle` from 6.25.0 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/diffplug/spotless/releases\"\u003ecom.diffplug.spotless:spotless-plugin-gradle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGradle Plugin v8.0.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e Bump the required Gradle to \u003ccode\u003e7.3\u003c/code\u003e and required Java to \u003ccode\u003e17\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2375\"\u003e#2375\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2540\"\u003e#2540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e Renamed \u003ccode\u003eremoveWildcardImports\u003c/code\u003e to \u003ccode\u003eforbidWildcardImports\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2633\"\u003e#2633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e \u003ccode\u003espotlessInstallGitPrePushHook\u003c/code\u003e task is now installed only on the root project. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2570\"\u003e#2570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e \u003ccode\u003eLintSuppression\u003c/code\u003e now enforces unix-style paths in its \u003ccode\u003esetPath\u003c/code\u003e method. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2629\"\u003e#2629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRunning \u003ccode\u003espotlessCheck\u003c/code\u003e with violations unilaterally produces the error message \u003ccode\u003eRun './gradlew spotlessApply' to fix these violations\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2592\"\u003e#2592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump JGit from \u003ccode\u003e6.10.1\u003c/code\u003e to \u003ccode\u003e7.3.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2257\"\u003e#2257\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eAdds support for worktrees (fixes \u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003egoogle-java-format\u003c/code\u003e version to latest \u003ccode\u003e1.24.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e1.28.0\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2345\"\u003e#2345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003egson\u003c/code\u003e version to latest \u003ccode\u003e2.13.1\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.13.2\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2615\"\u003e#2615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ejackson\u003c/code\u003e version to latest \u003ccode\u003e2.19.2\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.20.0\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2606\"\u003e#2606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ektfmt\u003c/code\u003e version to latest \u003ccode\u003e0.53\u003c/code\u003e -\u0026gt; \u003ccode\u003e0.58\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2613\"\u003e#2613\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e use \u003ccode\u003eTrailingCommaManagementStrategy\u003c/code\u003e enum instead of \u003ccode\u003emanageTrailingCommas\u003c/code\u003e boolean configuration option\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ektlint\u003c/code\u003e version to latest \u003ccode\u003e1.5.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e1.7.1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2555\"\u003e#2555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003epalantir-java-format\u003c/code\u003e version to latest \u003ccode\u003e2.57.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.71.0\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect system gitconfig when performing git operations (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2404\"\u003e#2404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003espaceBeforeSeparator\u003c/code\u003e in Jackson formatter. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003espotlessInstallGitPrePushHook\u003c/code\u003e is now compatible with configuration cache. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2570\"\u003e#2570\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThere is now a \u003ccode\u003eforbidRegex(String name, String regex, String lintDetail)\u003c/code\u003e which throws a lint anytime the regex matches. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2633\"\u003e#2633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGradle Plugin v7.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003espotlessInstallGitPrePushHook\u003c/code\u003e didn't work on windows, now fixed. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2562\"\u003e#2562\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGradle Plugin v7.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow specifying path to Biome JSON config file directly in \u003ccode\u003ebiome\u003c/code\u003e step. Requires biome 2.x. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2548\"\u003e#2548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003espotlessInstallGitPrePushHook\u003c/code\u003e task, which installs a Git \u003ccode\u003epre-push\u003c/code\u003e hook to run \u003ccode\u003espotlessCheck\u003c/code\u003e and \u003ccode\u003espotlessApply\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2553\"\u003e#2553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow setting Eclipse XML config from a string, not only from files (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2361\"\u003e#2361\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump default \u003ccode\u003egson\u003c/code\u003e version to latest \u003ccode\u003e2.11.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.13.1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2414\"\u003e#2414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ejackson\u003c/code\u003e version to latest \u003ccode\u003e2.18.1\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.19.2\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2558\"\u003e#2558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003egherkin-utils\u003c/code\u003e version to latest \u003ccode\u003e9.0.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e9.2.0\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2408\"\u003e#2408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ecleanthat\u003c/code\u003e version to latest \u003ccode\u003e2.22\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.23\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2556\"\u003e#2556\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGradle Plugin v7.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for \u003ccode\u003eidea\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2020\"\u003e#2020\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2535\"\u003e#2535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for removing wildcard imports via \u003ccode\u003eremoveWildcardImports\u003c/code\u003e step. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2517\"\u003e#2517\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix biome formatter for new major release 2.x of biome (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2537\"\u003e#2537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake sure npm-based formatters use the correct \u003ccode\u003enode_modules\u003c/code\u003e directory when running in parallel. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2542\"\u003e#2542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump internal dependencies for npm-based formatters (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2542\"\u003e#2542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003escalafmt: enforce version consistency between the version configured in Spotless and the version declared in Scalafmt config file (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2460\"\u003e#2460\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/diffplug/spotless/commit/0761a23782c97b4c425f8f8b5e79f20811f54541\"\u003e\u003ccode\u003e0761a23\u003c/code\u003e\u003c/a\u003e Published gradle/8.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/3373a6bf4ddfc12f1df566b1c1780e99ec2d8bb8\"\u003e\u003ccode\u003e3373a6b\u003c/code\u003e\u003c/a\u003e Published lib/4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/433a1d9c92e5e5566e72faf162c9d9833538d710\"\u003e\u003ccode\u003e433a1d9\u003c/code\u003e\u003c/a\u003e Try to fix publishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/12d83710e3dc0df893910f543293d353cc7b6c01\"\u003e\u003ccode\u003e12d8371\u003c/code\u003e\u003c/a\u003e [openrewrite] initial merge and \u003ccode\u003eUpgradeToJava17\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2636\"\u003e#2636\u003c/a\u003e towards \u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2634\"\u003e#2634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/37d293da2545f07a3b8cd0d69a812e2a04cdc5d1\"\u003e\u003ccode\u003e37d293d\u003c/code\u003e\u003c/a\u003e Take away the custom name for the \u003ccode\u003esanityCheck\u003c/code\u003e CI job.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/2ab1d2fe69d38e24f3226bbd24721c864ca0cb5a\"\u003e\u003ccode\u003e2ab1d2f\u003c/code\u003e\u003c/a\u003e Fix some long-standing Gradle deprecations.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/009c5da700c805857ca86de0e3980ce4ff8b5c11\"\u003e\u003ccode\u003e009c5da\u003c/code\u003e\u003c/a\u003e Rename \u003ccode\u003eremoveWildcardImports\u003c/code\u003e to \u003ccode\u003eforbidWildcardImports\u003c/code\u003e, etc. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2633\"\u003e#2633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/1f4fb93cc671bb2c39dcca1d9502174dc3fbc621\"\u003e\u003ccode\u003e1f4fb93\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2634\"\u003e#2634\u003c/a\u003e: Add \u003ccode\u003eUpgradeToJava17\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/d8d496abe3c5565642b45c998f6aeedd90204fde\"\u003e\u003ccode\u003ed8d496a\u003c/code\u003e\u003c/a\u003e Fix a test.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/c1a2fe5d6629f8fd92a984d16188c68752bfbd32\"\u003e\u003ccode\u003ec1a2fe5\u003c/code\u003e\u003c/a\u003e Fix unfinished parts of the rename.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/diffplug/spotless/compare/gradle/6.25.0...gradle/8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.diffplug.spotless` from 6.25.0 to 8.0.0\n\nUpdates `org.jsoup:jsoup` from 1.17.2 to 1.21.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup 1.21.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.2\u003c/strong\u003e is out now, adding support for custom \u003ccode\u003eSSLContext\u003c/code\u003e in HTTP/2 connections, and improving consistency in how user data is handled in attributes. It also brings performance gains in DOM manipulation and fragment parsing, and fixes several edge cases in stream parsing, traversal, cloning, and concurrent reads.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ejsoup 1.21.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.21.1\u003c/strong\u003e is out now, featuring powerful new node selection capabilities that let you target specific DOM nodes like comments and text nodes using CSS selectors, dynamic tag customization through the new TagSet callback system, and improved defense against mutation XSS attacks with simplified attribute escaping. This release also brings HTTP/2 support by default, numerous API improvements for better developer experience, and fixes for several edge-case parsing issues.\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\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; type)\u003c/code\u003e method instead. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull(Object)\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull(T)\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class\u0026lt;T\u0026gt; nodeType)\u003c/code\u003e for direct node selection. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2330\"\u003e#2330\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection.Response#readBody()\u003c/code\u003e over \u003ccode\u003eConnection.Response#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\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\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.21.2 (2025-Aug-25)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated internal (yet visible) methods \u003ccode\u003eNormalizer#normalize(String, bool)\u003c/code\u003e and \u003ccode\u003eAttribute#shouldCollapseAttribute(Document.OutputSettings)\u003c/code\u003e. These will be removed in a future version.\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection#sslSocketFactory(SSLSocketFactory)\u003c/code\u003e in favor of the new \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e. Using \u003ccode\u003esslSocketFactory\u003c/code\u003e will force the use of the legacy \u003ccode\u003eHttpUrlConnection\u003c/code\u003e implementation, which does not support HTTP/2. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen pretty-printing, if there are consecutive text nodes (via DOM manipulation), the non-significant whitespace between them will be collapsed. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2349\"\u003e#2349\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eConnection.Response#statusMessage()\u003c/code\u003e to return a simple loggable string message (e.g. \u0026quot;OK\u0026quot;) when using the \u003ccode\u003eHttpClient\u003c/code\u003e implementation, which doesn't otherwise return any server-set status message. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2346\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e now exclude any internal attributes (such as user data) from their count. This aligns with the attributes' serialized output and iterator. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2369\"\u003e#2369\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#sslContext(SSLContext)\u003c/code\u003e to provide a custom SSL (TLS) context to requests, supporting both the \u003ccode\u003eHttpClient\u003c/code\u003e and the legacy \u003ccode\u003eHttUrlConnection\u003c/code\u003e implementations. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2370\"\u003e#2370\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for DOM manipulation methods including when repeatedly removing an element's first child (\u003ccode\u003eelement.child(0).remove()\u003c/code\u003e, and when using \u003ccode\u003eParser#parseBodyFragement()\u003c/code\u003e to parse a large number of direct children. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2373\"\u003e#2373\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWhen parsing from an InputStream and a multibyte character happened to straddle a buffer boundary, the stream would not be completely read. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2353\"\u003e#2353\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eIn \u003ccode\u003eNodeTraversor\u003c/code\u003e, if a last child element was removed during the \u003ccode\u003ehead()\u003c/code\u003e call, the parent would be visited twice. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2355\"\u003e#2355\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eCloning an Element that has an Attributes object would add an empty internal user-data attribute to that clone, which would cause unexpected results for \u003ccode\u003eAttributes#size()\u003c/code\u003e and \u003ccode\u003eAttributes#isEmpty()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2356\"\u003e#2356\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn a multithreaded application where multiple threads are calling \u003ccode\u003eElement#children()\u003c/code\u003e on the same element concurrently, a race condition could happen when the method was generating the internal child element cache (a filtered view of its child nodes). Since concurrent reads of DOM objects should be threadsafe without external synchronization, this method has been updated to execute atomically. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2366\"\u003e#2366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen parsing HTML with svg:script elements in SVG elements, don't enter the Text insertion mode, but continue to parse as foreign content. Otherwise, misnested HTML could then cause an IndexOutOfBoundsException. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2374\"\u003e#2374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMalformed HTML could throw an IndexOutOfBoundsException during the adoption agency. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2377\"\u003e#2377\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.21.1 (2025-Jun-23)\u003c/h2\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved previously deprecated methods. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2317\"\u003e#2317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated the \u003ccode\u003e:matchText\u003c/code\u003e pseduo-selector due to its side effects on the DOM; use the new \u003ccode\u003e::textnode\u003c/code\u003e selector and the \u003ccode\u003eElement#selectNodes(String css, Class type)\u003c/code\u003e method instead. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2343\"\u003e#2343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated \u003ccode\u003eConnection.Response#bufferUp()\u003c/code\u003e in lieu of \u003ccode\u003eConnection.Response#readFully()\u003c/code\u003e which can throw a checked IOException.\u003c/li\u003e\n\u003cli\u003eDeprecated internal methods \u003ccode\u003eValidate#ensureNotNull\u003c/code\u003e (replaced by typed \u003ccode\u003eValidate#expectNotNull\u003c/code\u003e); protected HTML appenders from Attribute and Node.\u003c/li\u003e\n\u003cli\u003eIf you happen to be using any of the deprecated methods, please take the opportunity now to migrate away from them, as they will be removed in a future release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnhanced the \u003ccode\u003eSelector\u003c/code\u003e to support direct matching against nodes such as comments and text nodes. For example, you can now find an element that follows a specific comment: \u003ccode\u003e::comment:contains(prices) + p\u003c/code\u003e will select \u003ccode\u003ep\u003c/code\u003e elements immediately after a \u003ccode\u003e\u0026lt;!-- prices: --\u0026gt;\u003c/code\u003e comment. Supported types include \u003ccode\u003e::node\u003c/code\u003e, \u003ccode\u003e::leafnode\u003c/code\u003e, \u003ccode\u003e::comment\u003c/code\u003e, \u003ccode\u003e::text\u003c/code\u003e, \u003ccode\u003e::data\u003c/code\u003e, and \u003ccode\u003e::cdata\u003c/code\u003e. Node contextual selectors like \u003ccode\u003e::node:contains(text)\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e, and \u003ccode\u003e:blank\u003c/code\u003e are also supported. Introduced \u003ccode\u003eElement#selectNodes(String css)\u003c/code\u003e and \u003ccode\u003eElement#selectNodes(String css, Class nodeType)\u003c/code\u003e for direct node selection. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2324\"\u003e#2324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eTagSet#onNewTag(Consumer\u0026lt;Tag\u0026gt; customizer)\u003c/code\u003e: register a callback that’s invoked for each new or cloned Tag when it’s inserted into the set. Enables dynamic tweaks of tag options (for example, marking all custom tags as self-closing, or everything in a given namespace as preserving whitespace).\u003c/li\u003e\n\u003cli\u003eMade \u003ccode\u003eTokenQueue\u003c/code\u003e and \u003ccode\u003eCharacterReader\u003c/code\u003e autocloseable, to ensure that they will release their buffers back to the buffer pool, for later reuse.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSelector#evaluatorOf(String css)\u003c/code\u003e, as a clearer way to obtain an Evaluator from a CSS query. An alias of \u003ccode\u003eQueryParser.parse(String css)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCustom tags (defined via the \u003ccode\u003eTagSet\u003c/code\u003e) in a foreign namespace (e.g. SVG) can be configured to parse as data tags.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eNodeVisitor#traverse(Node)\u003c/code\u003e to simplify node traversal calls (vs. importing \u003ccode\u003eNodeTraversor\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eUpdated the default user-agent string to improve compatibility. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2341\"\u003e#2341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML parser now allows the specific text-data type (Data, RcData) to be customized for known tags. (Previously, that was only supported on custom tags.) \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2326\"\u003e#2326\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eConnection#readFully()\u003c/code\u003e as a replacement for \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e with an explicit IOException. Similarly, added \u003ccode\u003eConnection#readBody()\u003c/code\u003e over \u003ccode\u003eConnection#body()\u003c/code\u003e. Deprecated \u003ccode\u003eConnection#bufferUp()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2327\"\u003e#2327\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen serializing HTML, the \u003ccode\u003e\u0026lt;\u003c/code\u003e and \u003ccode\u003e\u0026gt;\u003c/code\u003e characters are now escaped in attributes. This helps prevent a class of mutation XSS attacks. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2337\"\u003e#2337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eConnection\u003c/code\u003e to prefer using the JDK's HttpClient over HttpUrlConnection, if available, to enable HTTP/2 support by default. Users can disable via \u003ccode\u003e-Djsoup.useHttpClient=false\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2340\"\u003e#2340\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe contents of a \u003ccode\u003escript\u003c/code\u003e in a \u003ccode\u003esvg\u003c/code\u003e foreign context should be parsed as script data, not text. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2320\"\u003e#2320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTag#isFormSubmittable()\u003c/code\u003e was updating the Tag's options. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2323\"\u003e#2323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe HTML pretty-printer would incorrectly trim whitespace when text followed an inline element in a block element. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2325\"\u003e#2325\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom tags with hyphens or other non-letter characters in their names now work correctly as Data or RcData tags. Their closing tags are now tokenized properly. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2332\"\u003e#2332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen cloning an Element, the clone would retain the source's cached child Element list (if any), which could lead to incorrect results when modifying the clone's child elements. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2334\"\u003e#2334\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/b02837b6c77b94799c055f8fa446fb770bfb49f1\"\u003e\u003ccode\u003eb02837b\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.21.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1f0c2070e78b5d171c4e5896930c612c58474608\"\u003e\u003ccode\u003e1f0c207\u003c/code\u003e\u003c/a\u003e v1.21.2 release date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/b0934637750ed6ddd91bf344842c8c5aad1fb70f\"\u003e\u003ccode\u003eb093463\u003c/code\u003e\u003c/a\u003e Use central-publishing-maven-plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/615b9592ffe8e65b4e461f7727081995931154ce\"\u003e\u003ccode\u003e615b959\u003c/code\u003e\u003c/a\u003e Updating sonatype deploy URLs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/69617205f80df06acf2adb38fd8a19f3724b6845\"\u003e\u003ccode\u003e6961720\u003c/code\u003e\u003c/a\u003e Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2386\"\u003e#2386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/82864b246c0005cc66a50daede3568f930504030\"\u003e\u003ccode\u003e82864b2\u003c/code\u003e\u003c/a\u003e Bump jetty.version from 9.4.57.v20241219 to 9.4.58.v20250814 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2385\"\u003e#2385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/71f963ea3a78746fc2a3ba80b2843254b35c211a\"\u003e\u003ccode\u003e71f963e\u003c/code\u003e\u003c/a\u003e Fix for HTML that breaks the select scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/6b20f6e3d158d1ce3147c4e9306d9b485e083bf4\"\u003e\u003ccode\u003e6b20f6e\u003c/code\u003e\u003c/a\u003e Removed effective recursion closing \u003ccode\u003e\\\u0026lt;/select\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/eb2957a8b3e8c12649c5b83872a238dd74e68dec\"\u003e\u003ccode\u003eeb2957a\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2382\"\u003e#2382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/3a9a6c7c8a67d51ebbb598495496e28dcd0c18e1\"\u003e\u003ccode\u003e3a9a6c7\u003c/code\u003e\u003c/a\u003e Fix ProxyTest in CI\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.17.2...jsoup-1.21.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.infradna.tool:bridge-method-annotation` from 1.18 to 1.24\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/90b05fc5d86b8e9362bbb31ccc37b28abdc67e52\"\u003e\u003ccode\u003e90b05fc\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1e3123cf4feaa612e6aa77ccf1a12cfd61a473a9\"\u003e\u003ccode\u003e1e3123c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/29\"\u003e#29\u003c/a\u003e from basil/asm-9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/c89b1025f3a4808e3d03a8a84b3f4ece06b96bf1\"\u003e\u003ccode\u003ec89b102\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.2 to 9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a60c63572dbb7a1d1aa91b5fbb0866517db88836\"\u003e\u003ccode\u003ea60c635\u003c/code\u003e\u003c/a\u003e Replaced by README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/8a5b5e9c6d5036aa492e43d3552b40cba07e5d8b\"\u003e\u003ccode\u003e8a5b5e9\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/677782c5cd7b3df04755b6f515c184748b019770\"\u003e\u003ccode\u003e677782c\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/jenkinsci/bridge-method-injector/commit/4682998f65e92142b9b3b185c63eb40ea0ed8c07\"\u003e\u003ccode\u003e4682998\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a2c094ff373921db7d71551d8f3fcd868c56e467\"\u003e\u003ccode\u003ea2c094f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/27\"\u003e#27\u003c/a\u003e from basil/asm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/cd1a8efd21354ac75447e338eee3298b7aa2386a\"\u003e\u003ccode\u003ecd1a8ef\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.0 to 9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1567095d18f443e5cbeb4593520f6fc0345b32fb\"\u003e\u003ccode\u003e1567095\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/infradna/bridge-method-injector/compare/bridge-method-injector-parent-1.18...bridge-method-injector-parent-1.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.kohsuke:github-api` from 1.303 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): githu...\n\n_Description has been truncated_","html_url":"https://github.com/ricekot/zap-extensions/pull/6","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricekot%2Fzap-extensions/issues/6","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6/packages"}},{"old_version":"1.303","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2025-10-01T20:49:12.000Z","version_change":"1.303 → 1.330","issue":{"uuid":"2879604180","node_id":"PR_kwDODf4ejs6ro0XU","number":5,"state":"closed","title":"build(deps): bump the gradle group across 1 directory with 59 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-03T04:14:39.000Z","author_association":"NONE","state_reason":null,"created_at":"2025-10-01T20:49:12.000Z","updated_at":"2025-10-03T04:14:39.000Z","time_to_close":113127,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"gradle","update_count":59,"packages":[{"name":"com.google.errorprone:error_prone_core","old_version":"2.36.0","new_version":"2.42.0","repository_url":"https://github.com/google/error-prone"},{"name":"biz.aQute.bnd:biz.aQute.bnd.annotation","old_version":"6.4.1","new_version":"7.1.0","repository_url":"https://github.com/bndtools/bnd"},{"name":"com.github.ben-manes.versions","old_version":"0.52.0","new_version":"0.53.0"},{"name":"org.sonarqube","old_version":"4.3.0.3225","new_version":"6.3.1.5724"},{"name":"net.ltgt.errorprone","old_version":"4.1.0","new_version":"4.3.0"},{"name":"io.freefair.lombok","old_version":"8.12.2","new_version":"9.0.0","repository_url":"https://github.com/freefair/gradle-plugins"},{"name":"commons-codec:commons-codec","old_version":"1.15","new_version":"1.19.0","repository_url":"https://github.com/apache/commons-codec"},{"name":"io.github.bonigarcia:webdrivermanager","old_version":"5.7.0","new_version":"6.3.2","repository_url":"https://github.com/bonigarcia/webdrivermanager"},{"name":"com.diffplug.spotless:spotless-plugin-gradle","old_version":"6.25.0","new_version":"8.0.0","repository_url":"https://github.com/diffplug/spotless"},{"name":"com.diffplug.spotless","old_version":"6.25.0","new_version":"8.0.0"},{"name":"com.infradna.tool:bridge-method-annotation","old_version":"1.18","new_version":"1.24","repository_url":"https://github.com/infradna/bridge-method-injector"},{"name":"net.bytebuddy:byte-buddy","old_version":"1.14.13","new_version":"1.17.7","repository_url":"https://github.com/raphw/byte-buddy"},{"name":"org.apache.commons:commons-collections4","old_version":"4.4","new_version":"4.5.0"},{"name":"org.apache.commons:commons-csv","old_version":"1.10.0","new_version":"1.14.1","repository_url":"https://github.com/apache/commons-csv"},{"name":"commons-io:commons-io","old_version":"2.16.1","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.19.0"},{"name":"org.xhtmlrenderer:flying-saucer-pdf","old_version":"9.3.1","new_version":"10.0.0","repository_url":"https://github.com/flyingsaucerproject/flyingsaucer"},{"name":"org.kohsuke:github-api","old_version":"1.303","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.graphql-java:graphql-java","old_version":"22.3","new_version":"24.3","repository_url":"https://github.com/graphql-java/graphql-java"},{"name":"org.codehaus.groovy:groovy-all","old_version":"3.0.14","new_version":"3.0.25","repository_url":"https://github.com/apache/groovy"},{"name":"io.grpc:grpc-protobuf","old_version":"1.61.1","new_version":"1.75.0","repository_url":"https://github.com/grpc/grpc-java"},{"name":"com.google.inject.extensions:guice-assistedinject","old_version":"5.0.1","new_version":"7.0.0"},{"name":"org.hamcrest:hamcrest-library","old_version":"2.2","new_version":"3.0","repository_url":"https://github.com/hamcrest/JavaHamcrest"},{"name":"de.sstoehr:har-reader","old_version":"3.1.4","new_version":"3.1.5","repository_url":"https://github.com/sdstoehr/har-reader"},{"name":"io.hektor:hektor-fsm","old_version":"0.0.5","new_version":"0.0.8","repository_url":"https://github.com/sniceio/hektor"},{"name":"org.htmlunit:htmlunit-csp","old_version":"4.0.0","new_version":"4.16.0","repository_url":"https://github.com/HtmlUnit/htmlunit-csp"},{"name":"org.apache.httpcomponents.client5:httpclient5","old_version":"5.2.1","new_version":"5.5.1","repository_url":"https://github.com/apache/httpcomponents-client"},{"name":"org.jitsi:ice4j","old_version":"3.0-24-g34c2ce5","new_version":"3.2-9-gb64c86f","repository_url":"https://github.com/jitsi/ice4j"},{"name":"com.fasterxml.jackson:jackson-bom","old_version":"2.19.1","new_version":"2.20.0","repository_url":"https://github.com/FasterXML/jackson-bom"},{"name":"jakarta.xml.soap:jakarta.xml.soap-api","old_version":"3.0.0","new_version":"3.0.2","repository_url":"https://github.com/jakartaee/saaj-api"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"2.3.2","new_version":"4.0.6"},{"name":"org.slf4j:jcl-over-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:jul-to-slf4j","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.slf4j:slf4j-log4j12","old_version":"1.7.32","new_version":"2.0.17"},{"name":"org.jruby:jruby-complete","old_version":"1.7.4","new_version":"10.0.2.0"},{"name":"org.jsoup:jsoup","old_version":"1.17.2","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.github.weisj:jsvg","old_version":"1.4.0","new_version":"2.0.0","repository_url":"https://github.com/weisJ/jsvg"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"5.10.2","new_version":"6.0.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.python:jython-standalone","old_version":"2.7.2","new_version":"2.7.4","repository_url":"https://github.com/jython/jython"},{"name":"io.kaitai:kaitai-struct-runtime","old_version":"0.10","new_version":"0.11","repository_url":"https://github.com/kaitai-io/kaitai_struct_java_runtime"},{"name":"dev.langchain4j:langchain4j","old_version":"0.35.0","new_version":"1.6.0","repository_url":"https://github.com/langchain4j/langchain4j"},{"name":"org.apache.logging.log4j:log4j-core","old_version":"2.24.2","new_version":"2.25.2"},{"name":"org.apache.logging.log4j:log4j-slf4j-impl","old_version":"2.24.2","new_version":"2.25.2"},{"name":"org.apache.logging.log4j:log4j-slf4j2-impl","old_version":"2.24.2","new_version":"2.25.2"},{"name":"org.mockito:mockito-junit-jupiter","old_version":"5.10.0","new_version":"5.20.0","repository_url":"https://github.com/mockito/mockito"},{"name":"io.netty:netty-codec","old_version":"4.1.100.Final","new_version":"4.2.6.Final","repository_url":"https://github.com/netty/netty"},{"name":"io.netty:netty-codec-http2","old_version":"4.1.100.Final","new_version":"4.2.6.Final","repository_url":"https://github.com/netty/netty"},{"name":"io.netty:netty-handler","old_version":"4.1.100.Final","new_version":"4.2.6.Final","repository_url":"https://github.com/netty/netty"},{"name":"com.google.re2j:re2j","old_version":"1.7","new_version":"1.8","repository_url":"https://github.com/google/re2j"},{"name":"com.github.curious-odd-man:rgxgen","old_version":"2.0","new_version":"3.1","repository_url":"https://github.com/curious-odd-man/RgxGen"},{"name":"com.sun.xml.messaging.saaj:saaj-impl","old_version":"3.0.0","new_version":"3.0.4"},{"name":"io.github.bonigarcia:selenium-jupiter","old_version":"5.1.1","new_version":"6.3.1","repository_url":"https://github.com/bonigarcia/selenium-jupiter"},{"name":"com.natpryce:snodge","old_version":"2.1.2.2","new_version":"3.7.0.0","repository_url":"https://github.com/npryce/snodge"},{"name":"com.predic8:soa-model-core","old_version":"2.0.1","new_version":"2.2.0","repository_url":"https://github.com/membrane/soa-model"},{"name":"io.swagger:swagger-compat-spec-parser","old_version":"1.0.71","new_version":"1.0.75"},{"name":"io.swagger.parser.v3:swagger-parser","old_version":"2.1.23","new_version":"2.1.34","repository_url":"https://github.com/swagger-api/swagger-parser"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.2.RELEASE","new_version":"3.1.3.RELEASE"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle group with 57 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.36.0` | `2.42.0` |\n| [biz.aQute.bnd:biz.aQute.bnd.annotation](https://github.com/bndtools/bnd) | `6.4.1` | `7.1.0` |\n| com.github.ben-manes.versions | `0.52.0` | `0.53.0` |\n| org.sonarqube | `4.3.0.3225` | `6.3.1.5724` |\n| net.ltgt.errorprone | `4.1.0` | `4.3.0` |\n| [io.freefair.lombok](https://github.com/freefair/gradle-plugins) | `8.12.2` | `9.0.0` |\n| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.15` | `1.19.0` |\n| [io.github.bonigarcia:webdrivermanager](https://github.com/bonigarcia/webdrivermanager) | `5.7.0` | `6.3.2` |\n| [com.diffplug.spotless:spotless-plugin-gradle](https://github.com/diffplug/spotless) | `6.25.0` | `8.0.0` |\n| com.diffplug.spotless | `6.25.0` | `8.0.0` |\n| [com.infradna.tool:bridge-method-annotation](https://github.com/infradna/bridge-method-injector) | `1.18` | `1.24` |\n| [net.bytebuddy:byte-buddy](https://github.com/raphw/byte-buddy) | `1.14.13` | `1.17.7` |\n| org.apache.commons:commons-collections4 | `4.4` | `4.5.0` |\n| [org.apache.commons:commons-csv](https://github.com/apache/commons-csv) | `1.10.0` | `1.14.1` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.16.1` | `2.20.0` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.19.0` |\n| [org.xhtmlrenderer:flying-saucer-pdf](https://github.com/flyingsaucerproject/flyingsaucer) | `9.3.1` | `10.0.0` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.303` | `1.330` |\n| [com.graphql-java:graphql-java](https://github.com/graphql-java/graphql-java) | `22.3` | `24.3` |\n| [org.codehaus.groovy:groovy-all](https://github.com/apache/groovy) | `3.0.14` | `3.0.25` |\n| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) | `1.61.1` | `1.75.0` |\n| com.google.inject.extensions:guice-assistedinject | `5.0.1` | `7.0.0` |\n| [org.hamcrest:hamcrest-library](https://github.com/hamcrest/JavaHamcrest) | `2.2` | `3.0` |\n| [de.sstoehr:har-reader](https://github.com/sdstoehr/har-reader) | `3.1.4` | `3.1.5` |\n| [io.hektor:hektor-fsm](https://github.com/sniceio/hektor) | `0.0.5` | `0.0.8` |\n| [org.htmlunit:htmlunit-csp](https://github.com/HtmlUnit/htmlunit-csp) | `4.0.0` | `4.16.0` |\n| [org.apache.httpcomponents.client5:httpclient5](https://github.com/apache/httpcomponents-client) | `5.2.1` | `5.5.1` |\n| [org.jitsi:ice4j](https://github.com/jitsi/ice4j) | `3.0-24-g34c2ce5` | `3.2-9-gb64c86f` |\n| [com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom) | `2.19.1` | `2.20.0` |\n| [jakarta.xml.soap:jakarta.xml.soap-api](https://github.com/jakartaee/saaj-api) | `3.0.0` | `3.0.2` |\n| org.glassfish.jaxb:jaxb-runtime | `2.3.2` | `4.0.6` |\n| org.slf4j:jcl-over-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:jul-to-slf4j | `1.7.32` | `2.0.17` |\n| org.slf4j:slf4j-log4j12 | `1.7.32` | `2.0.17` |\n| org.jruby:jruby-complete | `1.7.4` | `10.0.2.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.17.2` | `1.21.2` |\n| [com.github.weisj:jsvg](https://github.com/weisJ/jsvg) | `1.4.0` | `2.0.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `5.10.2` | `6.0.0` |\n| [org.python:jython-standalone](https://github.com/jython/jython) | `2.7.2` | `2.7.4` |\n| [io.kaitai:kaitai-struct-runtime](https://github.com/kaitai-io/kaitai_struct_java_runtime) | `0.10` | `0.11` |\n| [dev.langchain4j:langchain4j](https://github.com/langchain4j/langchain4j) | `0.35.0` | `1.6.0` |\n| org.apache.logging.log4j:log4j-core | `2.24.2` | `2.25.2` |\n| org.apache.logging.log4j:log4j-slf4j-impl | `2.24.2` | `2.25.2` |\n| org.apache.logging.log4j:log4j-slf4j2-impl | `2.24.2` | `2.25.2` |\n| [org.mockito:mockito-junit-jupiter](https://github.com/mockito/mockito) | `5.10.0` | `5.20.0` |\n| [io.netty:netty-codec](https://github.com/netty/netty) | `4.1.100.Final` | `4.2.6.Final` |\n| [io.netty:netty-codec-http2](https://github.com/netty/netty) | `4.1.100.Final` | `4.2.6.Final` |\n| [io.netty:netty-handler](https://github.com/netty/netty) | `4.1.100.Final` | `4.2.6.Final` |\n| [com.google.re2j:re2j](https://github.com/google/re2j) | `1.7` | `1.8` |\n| [com.github.curious-odd-man:rgxgen](https://github.com/curious-odd-man/RgxGen) | `2.0` | `3.1` |\n| com.sun.xml.messaging.saaj:saaj-impl | `3.0.0` | `3.0.4` |\n| [io.github.bonigarcia:selenium-jupiter](https://github.com/bonigarcia/selenium-jupiter) | `5.1.1` | `6.3.1` |\n| [com.natpryce:snodge](https://github.com/npryce/snodge) | `2.1.2.2` | `3.7.0.0` |\n| [com.predic8:soa-model-core](https://github.com/membrane/soa-model) | `2.0.1` | `2.2.0` |\n| io.swagger:swagger-compat-spec-parser | `1.0.71` | `1.0.75` |\n| [io.swagger.parser.v3:swagger-parser](https://github.com/swagger-api/swagger-parser) | `2.1.23` | `2.1.34` |\n| org.thymeleaf:thymeleaf | `3.1.2.RELEASE` | `3.1.3.RELEASE` |\n\n\nUpdates `com.google.errorprone:error_prone_core` from 2.36.0 to 2.42.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.42.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExplicitArrayForVarargs\"\u003e\u003ccode\u003eExplicitArrayForVarargs\u003c/code\u003e\u003c/a\u003e: discourage unnecessary explicit construction of an array to provide varargs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/FloggerPerWithoutRateLimit\"\u003e\u003ccode\u003eFloggerPerWithoutRateLimit\u003c/code\u003e\u003c/a\u003e: discourage Flogger's \u003ccode\u003eperUnique\u003c/code\u003e without rate limiting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/StringJoin\"\u003e\u003ccode\u003eStringJoin\u003c/code\u003e\u003c/a\u003e: Ban \u003ccode\u003eString.join(CharSequence)\u003c/code\u003e and \u003ccode\u003eString.join(CharSequence, CharSequence)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThreadBuilderNameWithPlaceholder\"\u003e\u003ccode\u003eThreadBuilderNameWithPlaceholder\u003c/code\u003e\u003c/a\u003e: Do not allow placeholders in \u003ccode\u003eThread.Builder.name(String)\u003c/code\u003e or \u003ccode\u003ename(String, int)\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe return type of \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e has changed. The previous type was \u003ccode\u003eEnumSet\u0026lt;Flags.Flag\u0026gt;\u003c/code\u003e, where \u003ccode\u003eFlags.Flag\u003c/code\u003e is an enum in the javac class \u003ccode\u003eFlags\u003c/code\u003e. A recent JDK change has replaced that enum with a new top-level enum called \u003ccode\u003eFlagsEnum\u003c/code\u003e. It is not possible to change \u003ccode\u003eASTHelpers.asFlagSet\u003c/code\u003e in a way that would be type-safe and compatible with the enums from JDKs both before and after the change. Instead, the method now returns \u003ccode\u003eImmutableSet\u0026lt;String\u0026gt;\u003c/code\u003e, where the strings come from the \u003ccode\u003etoString()\u003c/code\u003e of the enum constants. That means they are \u003ccode\u003e\u0026quot;native\u0026quot;\u003c/code\u003e, \u003ccode\u003e\u0026quot;abstract\u0026quot;\u003c/code\u003e, etc.\u003c/li\u003e\n\u003cli\u003eFlag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ca href=\"https://errorprone.info/bugpattern/SystemOut\"\u003e\u003ccode\u003eSystemOut\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.41.0...v2.42.0\"\u003ehttps://github.com/google/error-prone/compare/v2.41.0...v2.42.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.41.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/EffectivelyPrivate\"\u003eEffectivelyPrivate\u003c/a\u003e: Detect declarations that have \u003ccode\u003epublic\u003c/code\u003e or \u003ccode\u003eprotected\u003c/code\u003e modifiers, but are effectively private\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSkip BooleanLiteral findings if the target type is boxed (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5134\"\u003e#5134\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.40.0...v2.41.0\"\u003ehttps://github.com/google/error-prone/compare/v2.40.0...v2.41.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.40.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBug fixes and improvements\u003c/li\u003e\n\u003cli\u003eReleases (including snapshots) have migrated from \u003ca href=\"https://central.sonatype.org/pages/ossrh-eol/#process-to-migrate\"\u003eOSSRH to the Central Publisher Portal\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.39.0...v2.40.0\"\u003ehttps://github.com/google/error-prone/compare/v2.39.0...v2.40.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.39.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTemporarily downgrade to Guava 33.4.0 (\u003ca href=\"https://redirect.github.com/google/error-prone/issues/5108\"\u003e#5108\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChecks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BooleanLiteral\"\u003e\u003ccode\u003eBooleanLiteral\u003c/code\u003e\u003c/a\u003e: Prefer \u003ccode\u003etrue\u003c/code\u003e to \u003ccode\u003eBoolean.TRUE\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExpensiveLenientFormatString\"\u003e\u003ccode\u003eExpensiveLenientFormatString\u003c/code\u003e\u003c/a\u003e: Renamed from \u003ccode\u003ePreconditionsExpensiveString\u003c/code\u003e, detects unnecessary calls to \u003ccode\u003eString.format\u003c/code\u003e in the arguments of lenient formatting methods.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/UnnecessaryQualifier\"\u003e\u003ccode\u003eUnnecessaryQualifier\u003c/code\u003e\u003c/a\u003e: Detects \u003ccode\u003e@Qualifier\u003c/code\u003e or \u003ccode\u003e@BindingAnnotation\u003c/code\u003e annotations that have no effect, and can be removed\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIssues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/4996\"\u003e#4996\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5045\"\u003e#5045\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.38.0...v2.39.0\"\u003ehttps://github.com/google/error-prone/compare/v2.38.0...v2.39.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eError Prone 2.38.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/google/error-prone/commit/52b61801ceacc31be26261a14e4eb95bee68cdd8\"\u003e\u003ccode\u003e52b6180\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/691c64a24ac430fa26a69ff3ae62fdba0346e0df\"\u003e\u003ccode\u003e691c64a\u003c/code\u003e\u003c/a\u003e Flag \u003ccode\u003eIO.print[ln]()\u003c/code\u003e in \u003ccode\u003eSystemOut\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/0b751cd69ac278d63686a776cd55a067b7bff7ae\"\u003e\u003ccode\u003e0b751cd\u003c/code\u003e\u003c/a\u003e ExpicitArrayForVarargs: flag unnecessary explicit construction of an array to...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/982fe208c273cc82e838efbbc9c001b857cd239e\"\u003e\u003ccode\u003e982fe20\u003c/code\u003e\u003c/a\u003e Tweak links to point to newer versions.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a2df97f0d3842e1d45f26bf085a3a95f273346be\"\u003e\u003ccode\u003ea2df97f\u003c/code\u003e\u003c/a\u003e [StatementSwitchToExpressionSwitch] fix bug where \u003ccode\u003ecase null\u003c/code\u003e can sometimes b...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/e691be588c891d4fc10cb41f019960accd21db2d\"\u003e\u003ccode\u003ee691be5\u003c/code\u003e\u003c/a\u003e Fix (behind a flag) a silly bug in RedundantSetterCall.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/ce1a422f3f92a9a9c6434a9e0e00df5ce9877df2\"\u003e\u003ccode\u003ece1a422\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003eDurations.wait()\u003c/code\u003e to \u003ccode\u003eWaitMatchers.waitMethodWithTimeout\u003c/code\u003e (and make them...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da03fea47dd31b1a63932d78f3d91fb383cce8d1\"\u003e\u003ccode\u003eda03fea\u003c/code\u003e\u003c/a\u003e Update MethodCanBeStatic to be able to detect and trigger on Guice \u003ca href=\"https://github.com/Provides\"\u003e\u003ccode\u003e@​Provides\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/83e6582d6333d2e2d5e5f2f279c630d54ae65fae\"\u003e\u003ccode\u003e83e6582\u003c/code\u003e\u003c/a\u003e RedundantSetterCall: note that setFooValue and setFooBytes can be aliases for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/db62c8c27ec5984058788547958f2f7c8d1bee95\"\u003e\u003ccode\u003edb62c8c\u003c/code\u003e\u003c/a\u003e Automated rollback of commit e1b16e24461d90f2b11f8213a68bfccc0426d4f3.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.36.0...v2.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `biz.aQute.bnd:biz.aQute.bnd.annotation` from 6.4.1 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/bndtools/bnd/releases\"\u003ebiz.aQute.bnd:biz.aQute.bnd.annotation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eBnd/Bndtools 7.1.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.1.0\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eBnd/Bndtools 7.0.0\u003c/h2\u003e\n\u003cp\u003eThis is the first release on Java 17.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/bndtools/bnd/wiki/Changes-in-7.0.0\"\u003eRelease Notes\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/bndtools/bnd/commit/47e504d7881ba466703c55a8dca7b0578561582d\"\u003e\u003ccode\u003e47e504d\u003c/code\u003e\u003c/a\u003e Build Release 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/c3ff1490e5a2d72336e28920711ec0d024c4a801\"\u003e\u003ccode\u003ec3ff149\u003c/code\u003e\u003c/a\u003e build: Build release 7.1.0.RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/2fc3187b1be2e04e78e4056b6c2efae406646b5b\"\u003e\u003ccode\u003e2fc3187\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6363\"\u003e#6363\u003c/a\u003e from laeubi/process_with_conditional_package\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/cd347e1202077e625bbdd5dadc158adb49e504db\"\u003e\u003ccode\u003ecd347e1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6365\"\u003e#6365\u003c/a\u003e from bndtools/dependabot/github_actions/ruby/setup-r...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/9aa57efecc7e026646e279307d23ea5edb089e57\"\u003e\u003ccode\u003e9aa57ef\u003c/code\u003e\u003c/a\u003e Bump ruby/setup-ruby from 1.201.0 to 1.202.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/ec0fea78a246e66430db06e0e8ad0423ffb59dc2\"\u003e\u003ccode\u003eec0fea7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6361\"\u003e#6361\u003c/a\u003e from bndtools/dependabot/github_actions/github/codeq...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/396262634e86aad490df4b43150f3c903c60973f\"\u003e\u003ccode\u003e3962626\u003c/code\u003e\u003c/a\u003e Add testcase for conditional packages with bnd-process\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/fe9a874b3be6e6c2d86625afa55985d1b89c6199\"\u003e\u003ccode\u003efe9a874\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.27.0 to 3.27.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/e3c95f878d3266b872d5ce3ea81b07e8a99e3f8e\"\u003e\u003ccode\u003ee3c95f8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/bndtools/bnd/issues/6360\"\u003e#6360\u003c/a\u003e from pkriens/issue/6346-gradle-reference-to-project-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bndtools/bnd/commit/aac92718e6b5021548ff6782871a1841f041eee5\"\u003e\u003ccode\u003eaac9271\u003c/code\u003e\u003c/a\u003e Added a method to get the Macro references from a Processor\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bndtools/bnd/compare/6.4.1...7.1.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.versions` from 0.52.0 to 0.53.0\n\nUpdates `org.sonarqube` from 4.3.0.3225 to 6.3.1.5724\n\nUpdates `net.ltgt.errorprone` from 4.1.0 to 4.3.0\n\nUpdates `io.freefair.lombok` from 8.12.2 to 9.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/freefair/gradle-plugins/releases\"\u003eio.freefair.lombok's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/setup-java from 4 to 5 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/freefair/gradle-plugins/pull/1425\"\u003efreefair/gradle-plugins#1425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump io.github.classgraph:classgraph from 4.8.180 to 4.8.181 in /examples 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/freefair/gradle-plugins/pull/1424\"\u003efreefair/gradle-plugins#1424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.commons:commons-compress from 1.27.1 to 1.28.0 in /examples 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/freefair/gradle-plugins/pull/1422\"\u003efreefair/gradle-plugins#1422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.gradle.develocity from 4.1 to 4.1.1 in /examples 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/freefair/gradle-plugins/pull/1431\"\u003efreefair/gradle-plugins#1431\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.mockito:mockito-core from 5.18.0 to 5.19.0 in /examples 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/freefair/gradle-plugins/pull/1423\"\u003efreefair/gradle-plugins#1423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven:maven-artifact from 3.9.10 to 3.9.11 in /examples 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/freefair/gradle-plugins/pull/1446\"\u003efreefair/gradle-plugins#1446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.gradle.develocity from 4.1 to 4.1.1 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/freefair/gradle-plugins/pull/1445\"\u003efreefair/gradle-plugins#1445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven:maven-core from 3.9.10 to 3.9.11 in /examples 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/freefair/gradle-plugins/pull/1444\"\u003efreefair/gradle-plugins#1444\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.gradle.develocity from 4.1 to 4.1.1 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/freefair/gradle-plugins/pull/1434\"\u003efreefair/gradle-plugins#1434\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump de.larsgrefer.sass:sass-embedded-host from 4.2.0 to 4.3.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1433\"\u003efreefair/gradle-plugins#1433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-java from 4 to 5 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/freefair/gradle-plugins/pull/1441\"\u003efreefair/gradle-plugins#1441\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.squareup.okhttp3:okhttp-bom from 5.0.0 to 5.1.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1453\"\u003efreefair/gradle-plugins#1453\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eswitch default lombok version to 1.18.40 by \u003ca href=\"https://github.com/danishnawab\"\u003e\u003ccode\u003e@​danishnawab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1467\"\u003efreefair/gradle-plugins#1467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.asciidoctor.jvm.convert from 4.0.4 to 4.0.5 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/freefair/gradle-plugins/pull/1463\"\u003efreefair/gradle-plugins#1463\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.3 to 3.27.4 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/freefair/gradle-plugins/pull/1451\"\u003efreefair/gradle-plugins#1451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.asciidoctor.jvm.convert from 4.0.4 to 4.0.5 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/freefair/gradle-plugins/pull/1452\"\u003efreefair/gradle-plugins#1452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.commons:commons-compress from 1.27.1 to 1.28.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1460\"\u003efreefair/gradle-plugins#1460\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.3 to 3.27.4 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/freefair/gradle-plugins/pull/1461\"\u003efreefair/gradle-plugins#1461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.sonarsource.scanner.gradle:sonarqube-gradle-plugin from 6.2.0.5505 to 6.3.1.5724 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/freefair/gradle-plugins/pull/1448\"\u003efreefair/gradle-plugins#1448\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.squareup.okhttp3:okhttp-bom from 4.12.0 to 5.1.0 in /examples 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/freefair/gradle-plugins/pull/1412\"\u003efreefair/gradle-plugins#1412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.github.spotbugs from 6.2.4 to 6.3.0 in /examples 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/freefair/gradle-plugins/pull/1430\"\u003efreefair/gradle-plugins#1430\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.sonarqube from 6.2.0.5505 to 6.3.1.5724 in /examples 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/freefair/gradle-plugins/pull/1440\"\u003efreefair/gradle-plugins#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.springframework.boot:spring-boot-starter from 3.5.4 to 3.5.5 in /examples 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/freefair/gradle-plugins/pull/1454\"\u003efreefair/gradle-plugins#1454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump io.github.classgraph:classgraph from 4.8.180 to 4.8.181 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/freefair/gradle-plugins/pull/1473\"\u003efreefair/gradle-plugins#1473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.gradle.plugin-publish from 1.3.1 to 2.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1471\"\u003efreefair/gradle-plugins#1471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.gradle.develocity from 4.1.1 to 4.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1475\"\u003efreefair/gradle-plugins#1475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.gradle.plugin-publish from 1.3.1 to 2.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1456\"\u003efreefair/gradle-plugins#1456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.mockito:mockito-core from 5.18.0 to 5.19.0 in /examples 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/freefair/gradle-plugins/pull/1470\"\u003efreefair/gradle-plugins#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.gradle.develocity from 4.1.1 to 4.2 in /examples 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/freefair/gradle-plugins/pull/1472\"\u003efreefair/gradle-plugins#1472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.4 to 3.27.5 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/freefair/gradle-plugins/pull/1483\"\u003efreefair/gradle-plugins#1483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.projectlombok:lombok from 1.18.40 to 1.18.42 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/freefair/gradle-plugins/pull/1482\"\u003efreefair/gradle-plugins#1482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.projectlombok:lombok from 1.18.38 to 1.18.42 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/freefair/gradle-plugins/pull/1477\"\u003efreefair/gradle-plugins#1477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.webjars:bootstrap from 5.3.7 to 5.3.8 in /examples 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/freefair/gradle-plugins/pull/1479\"\u003efreefair/gradle-plugins#1479\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.5 to 3.27.6 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/freefair/gradle-plugins/pull/1490\"\u003efreefair/gradle-plugins#1490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.springframework.boot:spring-boot-starter from 3.5.5 to 3.5.6 in /examples 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/freefair/gradle-plugins/pull/1489\"\u003efreefair/gradle-plugins#1489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.3 to 3.27.6 in /examples 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/freefair/gradle-plugins/pull/1492\"\u003efreefair/gradle-plugins#1492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.3 to 3.27.6 in /examples 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/freefair/gradle-plugins/pull/1491\"\u003efreefair/gradle-plugins#1491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.sonarsource.scanner.gradle:sonarqube-gradle-plugin from 6.2.0.5505 to 6.3.1.5724 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/freefair/gradle-plugins/pull/1488\"\u003efreefair/gradle-plugins#1488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.mockito:mockito-core from 5.19.0 to 5.20.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1487\"\u003efreefair/gradle-plugins#1487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.mockito.kotlin:mockito-kotlin from 5.4.0 to 6.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/pull/1469\"\u003efreefair/gradle-plugins#1469\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/freefair/gradle-plugins/compare/8.14.2...9.0.0\"\u003ehttps://github.com/freefair/gradle-plugins/compare/8.14.2...9.0.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e9.0.0-rc2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/freefair/gradle-plugins/compare/9.0.0-rc1...9.0.0-rc2\"\u003ehttps://github.com/freefair/gradle-plugins/compare/9.0.0-rc1...9.0.0-rc2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e9.0.0-rc1\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/freefair/gradle-plugins/commit/786f564dc686cbde4b9c62dc07ba8bc7e5361f24\"\u003e\u003ccode\u003e786f564\u003c/code\u003e\u003c/a\u003e Update to Spring Boot 3.5.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/fe43572a6a47f10e5d87137c9ec09dd2ee30d3be\"\u003e\u003ccode\u003efe43572\u003c/code\u003e\u003c/a\u003e Merge branch '8.x' of github.com:freefair/gradle-plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/3da1f865f85b178c1beb97d1b87eb62d3bc815bd\"\u003e\u003ccode\u003e3da1f86\u003c/code\u003e\u003c/a\u003e Bump org.mockito.kotlin:mockito-kotlin from 5.4.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/b39aef51a1e7b83412bb7dab7aba5f542dfce856\"\u003e\u003ccode\u003eb39aef5\u003c/code\u003e\u003c/a\u003e Bump org.mockito:mockito-core from 5.19.0 to 5.20.0 (\u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1487\"\u003e#1487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/4b0917ad000b7a69961b850c9f9656188d7a7b8e\"\u003e\u003ccode\u003e4b0917a\u003c/code\u003e\u003c/a\u003e Merge branch '8.x' of github.com:freefair/gradle-plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/d413a0ad8abe50dee44e908d3ba8b27169f484c4\"\u003e\u003ccode\u003ed413a0a\u003c/code\u003e\u003c/a\u003e remove gradle build cache\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/f5e37dfb94bc3cb47458e8ce10d8fea0e0f8948b\"\u003e\u003ccode\u003ef5e37df\u003c/code\u003e\u003c/a\u003e Update to Gradle 9.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/10d1d3aed784a57e55c345b258ce0dbbb6b6846c\"\u003e\u003ccode\u003e10d1d3a\u003c/code\u003e\u003c/a\u003e Merge branch '8.x' of github.com:freefair/gradle-plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/047a17dcc6e6a7ebf67137ade8f13203a5b6c1c5\"\u003e\u003ccode\u003e047a17d\u003c/code\u003e\u003c/a\u003e Bump org.sonarsource.scanner.gradle:sonarqube-gradle-plugin (\u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1488\"\u003e#1488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freefair/gradle-plugins/commit/fd0b3faa4251d5d80efb228b4e518f0253a016bd\"\u003e\u003ccode\u003efd0b3fa\u003c/code\u003e\u003c/a\u003e Bump org.assertj:assertj-core from 3.27.3 to 3.27.6 in /examples (\u003ca href=\"https://redirect.github.com/freefair/gradle-plugins/issues/1491\"\u003e#1491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/freefair/gradle-plugins/compare/8.12.2...9.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commons-codec:commons-codec` from 1.15 to 1.19.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-codec/blob/master/RELEASE-NOTES.txt\"\u003ecommons-codec:commons-codec's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons Codec 1.19.0 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons Codec team is pleased to announce the release of Apache Commons Codec 1.19.0.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons Codec component contains encoders and decoders for\nformats such as Base16, Base32, Base64, digest, and Hexadecimal. In addition to these\nwidely used encoders and decoders, the codec package also maintains a\ncollection of phonetic encoding utilities.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003ch2\u003eNew features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add HmacUtils.hmac(Path). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add HmacUtils.hmacHex(Path). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add PMD check to the default Maven goal. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Add SpotBugs check to the default Maven goal. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Remove -nouses directive from maven-bundle-plugin. OSGi package imports now state 'uses' definitions for package imports, this doesn't affect JPMS (from org.apache.commons:commons-parent:80). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Refactor DigestUtils.updateDigest(MessageDigest, File) to use NIO. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCODEC-328:  Clarify Javadoc for org.apache.commons.codec.digest.UnixCrypt.crypt(byte[],String). Thanks to Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in DaitchMokotoffSoundex.Rule. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in DaitchMokotoffSoundex.parseRules(Scanner, String, Map, Map). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in Lang.loadFromResource(String, Languages). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in PhoneticEngine.encode(String, LanguageSet). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Precompile regular expressions in org.apache.commons.codec.language.bm.Rule.parse*(*). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Remove redundant checks for whitespace in DaitchMokotoffSoundex.soundex(String, boolean). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Javadoc typo in Base16.java [#380](https://github.com/apache/commons-codec/issues/380). Thanks to Sebastian Baunsgaard.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Deprecate unused constant org.apache.commons.codec.language.bm.Rule.ALL. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCODEC-331:  org.apache.commons.codec.language.bm.Rule.parsePhonemeExpr(String) adds duplicate empty phoneme when input ends with |. Thanks to IlikeCode, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCODEC-331:  org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String) does not remove special characters like punctuation. Thanks to IlikeCode, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD multiple UnnecessaryFullyQualifiedName in org.apache.commons.codec.binary.StringUtils. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD UnusedFormalParameter in private constructor in org.apache.commons.codec.binary.Base16. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD multiple UnnecessaryFullyQualifiedName in org.apache.commons.codec.digest.Blake3. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD UnnecessaryFullyQualifiedName in org.apache.commons.codec.digest.Md5Crypt. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix PMD EmptyControlStatement in org.apache.commons.codec.language.Metaphone. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix SpotBugs [ERROR] Medium: org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder.setEncodeTable(byte[]) may expose internal representation by storing an externally mutable object into BaseNCodec$AbstractBuilder.encodeTable [org.apache.commons.codec.binary.BaseNCodec$AbstractBuilder] At BaseNCodec.java:[line 131] EI_EXPOSE_REP2. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        The method org.apache.commons.codec.binary.BaseNCodec.AbstractBuilder.setLineSeparator(byte...) now makes a defensive copy. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Avoid unnecessary String conversion in org.apache.commons.codec.language.bm.PhoneticEngine.applyFinalRules(PhonemeBuilder, Map). Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e        Fix SpotBugs [ERROR] High: Potentially dangerous use of non-short-circuit logic in org.apache.commons.codec.language.DaitchMokotoffSoundex.cleanup(String) [org.apache.commons.codec.language.DaitchMokotoffSoundex] At DaitchMokotoffSoundex.java:[line 350] NS_DANGEROUS_NON_SHORT_CIRCUIT. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\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/apache/commons-codec/commit/351cb22e1e1948aaabb39a463dce631bea156125\"\u003e\u003ccode\u003e351cb22\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.19.0 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/0d501b60e50ea50e247d8d804945b9a39974ed52\"\u003e\u003ccode\u003e0d501b6\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/d6d4b824539b0d4794200d05286fd3de1ff2f236\"\u003e\u003ccode\u003ed6d4b82\u003c/code\u003e\u003c/a\u003e Refactor duplicate code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/6d6456ca94448ba8ea105e697e3f89a67f3cb7c1\"\u003e\u003ccode\u003e6d6456c\u003c/code\u003e\u003c/a\u003e No need to exclude abstract test classes from Surefire runs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/22d62e41374cfe558f995fd2c0f490e6f93339d6\"\u003e\u003ccode\u003e22d62e4\u003c/code\u003e\u003c/a\u003e No need to specify the default value for linkXref\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/c4daf34d4aeb1193ba8feab437b86a871c6b123d\"\u003e\u003ccode\u003ec4daf34\u003c/code\u003e\u003c/a\u003e No longer need to override the version of the Jacoco Maven plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/8f2b67337af5dc40a3701346c6302ab0cf5ca554\"\u003e\u003ccode\u003e8f2b673\u003c/code\u003e\u003c/a\u003e Remove workaround for [SUREFIRE-2253]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/466a61d3f957a9a0727937b3772dc6880db22f01\"\u003e\u003ccode\u003e466a61d\u003c/code\u003e\u003c/a\u003e Fix Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/ca27bd30b6170561786d421eb48f1535dc41336f\"\u003e\u003ccode\u003eca27bd3\u003c/code\u003e\u003c/a\u003e Fix Checkstyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-codec/commit/1dfb4e5bbdc604dc72fe671fded50a5c91bc7543\"\u003e\u003ccode\u003e1dfb4e5\u003c/code\u003e\u003c/a\u003e Better internal method name\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-codec/compare/rel/commons-codec-1.15...rel/commons-codec-1.19.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.bonigarcia:webdrivermanager` from 5.7.0 to 6.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bonigarcia/webdrivermanager/blob/master/CHANGELOG.md\"\u003eio.github.bonigarcia:webdrivermanager's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[6.3.2] - 2025-09-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConsume stdout/stderr asynchronously and add timeout for shell execution (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1469\"\u003e#1469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix logic to find msedgedriver from XML responses (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1510\"\u003e#1510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix condition to check external connections in download logic\u003c/li\u003e\n\u003cli\u003eFix logic to ignore versions\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChanged log level for shell result to trace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.3.1] - 2025-09-01\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCheck webdriver list before accesing recording in base64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.3.0] - 2025-09-01\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude getRecordingBase64() in the WebDriverManager API\u003c/li\u003e\n\u003cli\u003eInclude workflows to release WebDriverManager in Maven Central and doc in GH Pages\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump to BrowserWatcher 2.1.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.2.0] - 2025-07-18\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude getResolvedBrowserVersion() in the WebDriverManager API (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Edge driver url (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1489\"\u003e#1489\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.1.1] - 2025-07-09\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude --disable-features=DisableLoadExtensionCommandLineSwitch to load BrowserWatcher\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate configuration to publish artifacts in Maven Central\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[6.1.0] - 2025-04-21\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWait for extension recording (WEBM) in the Downloads folder\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/bonigarcia/webdrivermanager/commit/c46a9ca4b2649929801b94b8ceea74ab19e3e403\"\u003e\u003ccode\u003ec46a9ca\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release webdrivermanager-6.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/ee694cb6120f65a074313c22fca8844163c9414f\"\u003e\u003ccode\u003eee694cb\u003c/code\u003e\u003c/a\u003e Use mvn versions:revert when creating fat jar in CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/cfc2055ba282f3640bd70b10e50920df551c4b9f\"\u003e\u003ccode\u003ecfc2055\u003c/code\u003e\u003c/a\u003e Set SNAPSHOT in pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/eb379305943b8e7e8b8b85470c75b6ae375fdbe2\"\u003e\u003ccode\u003eeb37930\u003c/code\u003e\u003c/a\u003e Fix logic to ignore versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/f287725816bd9e1bea3dd572dd099d77c7972070\"\u003e\u003ccode\u003ef287725\u003c/code\u003e\u003c/a\u003e Minor smell-fixes and formatting in Shell class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/035c7d8676a18b32f4258be59c876cf45e5cb0e7\"\u003e\u003ccode\u003e035c7d8\u003c/code\u003e\u003c/a\u003e Fix condition to check external connections in download logic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/1ae5992f33a5fde6b1fb2c3603fda4100935d6dc\"\u003e\u003ccode\u003e1ae5992\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 6.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/c97df1b74d61c2f49ce676a3c2507cb0b6581a0d\"\u003e\u003ccode\u003ec97df1b\u003c/code\u003e\u003c/a\u003e Fix logic to find msedgedriver from XML responses (\u003ca href=\"https://redirect.github.com/bonigarcia/webdrivermanager/issues/1510\"\u003e#1510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/a16be69dad6cf59971b4aa41eab14f3f490b1311\"\u003e\u003ccode\u003ea16be69\u003c/code\u003e\u003c/a\u003e Generate fat jar first in the release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bonigarcia/webdrivermanager/commit/6756ffbd57287ec662656604f9ce726aec240240\"\u003e\u003ccode\u003e6756ffb\u003c/code\u003e\u003c/a\u003e Update mirror info (Fri Sep 12 00:08:03 UTC 2025)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/bonigarcia/webdrivermanager/compare/webdrivermanager-5.7.0...webdrivermanager-6.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.diffplug.spotless:spotless-plugin-gradle` from 6.25.0 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/diffplug/spotless/releases\"\u003ecom.diffplug.spotless:spotless-plugin-gradle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGradle Plugin v8.0.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e Bump the required Gradle to \u003ccode\u003e7.3\u003c/code\u003e and required Java to \u003ccode\u003e17\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2375\"\u003e#2375\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2540\"\u003e#2540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e Renamed \u003ccode\u003eremoveWildcardImports\u003c/code\u003e to \u003ccode\u003eforbidWildcardImports\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2633\"\u003e#2633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e \u003ccode\u003espotlessInstallGitPrePushHook\u003c/code\u003e task is now installed only on the root project. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2570\"\u003e#2570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e \u003ccode\u003eLintSuppression\u003c/code\u003e now enforces unix-style paths in its \u003ccode\u003esetPath\u003c/code\u003e method. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2629\"\u003e#2629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRunning \u003ccode\u003espotlessCheck\u003c/code\u003e with violations unilaterally produces the error message \u003ccode\u003eRun './gradlew spotlessApply' to fix these violations\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2592\"\u003e#2592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump JGit from \u003ccode\u003e6.10.1\u003c/code\u003e to \u003ccode\u003e7.3.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2257\"\u003e#2257\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eAdds support for worktrees (fixes \u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/1765\"\u003e#1765\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003egoogle-java-format\u003c/code\u003e version to latest \u003ccode\u003e1.24.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e1.28.0\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2345\"\u003e#2345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003egson\u003c/code\u003e version to latest \u003ccode\u003e2.13.1\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.13.2\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2615\"\u003e#2615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ejackson\u003c/code\u003e version to latest \u003ccode\u003e2.19.2\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.20.0\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2606\"\u003e#2606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ektfmt\u003c/code\u003e version to latest \u003ccode\u003e0.53\u003c/code\u003e -\u0026gt; \u003ccode\u003e0.58\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2613\"\u003e#2613\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e use \u003ccode\u003eTrailingCommaManagementStrategy\u003c/code\u003e enum instead of \u003ccode\u003emanageTrailingCommas\u003c/code\u003e boolean configuration option\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ektlint\u003c/code\u003e version to latest \u003ccode\u003e1.5.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e1.7.1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2555\"\u003e#2555\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003epalantir-java-format\u003c/code\u003e version to latest \u003ccode\u003e2.57.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.71.0\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRespect system gitconfig when performing git operations (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2404\"\u003e#2404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003espaceBeforeSeparator\u003c/code\u003e in Jackson formatter. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2103\"\u003e#2103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003espotlessInstallGitPrePushHook\u003c/code\u003e is now compatible with configuration cache. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2570\"\u003e#2570\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThere is now a \u003ccode\u003eforbidRegex(String name, String regex, String lintDetail)\u003c/code\u003e which throws a lint anytime the regex matches. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2633\"\u003e#2633\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGradle Plugin v7.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003espotlessInstallGitPrePushHook\u003c/code\u003e didn't work on windows, now fixed. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2562\"\u003e#2562\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGradle Plugin v7.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow specifying path to Biome JSON config file directly in \u003ccode\u003ebiome\u003c/code\u003e step. Requires biome 2.x. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2548\"\u003e#2548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003espotlessInstallGitPrePushHook\u003c/code\u003e task, which installs a Git \u003ccode\u003epre-push\u003c/code\u003e hook to run \u003ccode\u003espotlessCheck\u003c/code\u003e and \u003ccode\u003espotlessApply\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2553\"\u003e#2553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow setting Eclipse XML config from a string, not only from files (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2361\"\u003e#2361\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump default \u003ccode\u003egson\u003c/code\u003e version to latest \u003ccode\u003e2.11.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.13.1\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2414\"\u003e#2414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ejackson\u003c/code\u003e version to latest \u003ccode\u003e2.18.1\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.19.2\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2558\"\u003e#2558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003egherkin-utils\u003c/code\u003e version to latest \u003ccode\u003e9.0.0\u003c/code\u003e -\u0026gt; \u003ccode\u003e9.2.0\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2408\"\u003e#2408\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump default \u003ccode\u003ecleanthat\u003c/code\u003e version to latest \u003ccode\u003e2.22\u003c/code\u003e -\u0026gt; \u003ccode\u003e2.23\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2556\"\u003e#2556\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eGradle Plugin v7.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for \u003ccode\u003eidea\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2020\"\u003e#2020\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2535\"\u003e#2535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for removing wildcard imports via \u003ccode\u003eremoveWildcardImports\u003c/code\u003e step. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2517\"\u003e#2517\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix biome formatter for new major release 2.x of biome (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2537\"\u003e#2537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake sure npm-based formatters use the correct \u003ccode\u003enode_modules\u003c/code\u003e directory when running in parallel. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2542\"\u003e#2542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump internal dependencies for npm-based formatters (\u003ca href=\"https://redirect.github.com/diffplug/spotless/pull/2542\"\u003e#2542\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003escalafmt: enforce version consistency between the version configured in Spotless and the version declared in Scalafmt config file (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2460\"\u003e#2460\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/diffplug/spotless/commit/0761a23782c97b4c425f8f8b5e79f20811f54541\"\u003e\u003ccode\u003e0761a23\u003c/code\u003e\u003c/a\u003e Published gradle/8.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/3373a6bf4ddfc12f1df566b1c1780e99ec2d8bb8\"\u003e\u003ccode\u003e3373a6b\u003c/code\u003e\u003c/a\u003e Published lib/4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/433a1d9c92e5e5566e72faf162c9d9833538d710\"\u003e\u003ccode\u003e433a1d9\u003c/code\u003e\u003c/a\u003e Try to fix publishing.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/12d83710e3dc0df893910f543293d353cc7b6c01\"\u003e\u003ccode\u003e12d8371\u003c/code\u003e\u003c/a\u003e [openrewrite] initial merge and \u003ccode\u003eUpgradeToJava17\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2636\"\u003e#2636\u003c/a\u003e towards \u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2634\"\u003e#2634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/37d293da2545f07a3b8cd0d69a812e2a04cdc5d1\"\u003e\u003ccode\u003e37d293d\u003c/code\u003e\u003c/a\u003e Take away the custom name for the \u003ccode\u003esanityCheck\u003c/code\u003e CI job.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/2ab1d2fe69d38e24f3226bbd24721c864ca0cb5a\"\u003e\u003ccode\u003e2ab1d2f\u003c/code\u003e\u003c/a\u003e Fix some long-standing Gradle deprecations.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/009c5da700c805857ca86de0e3980ce4ff8b5c11\"\u003e\u003ccode\u003e009c5da\u003c/code\u003e\u003c/a\u003e Rename \u003ccode\u003eremoveWildcardImports\u003c/code\u003e to \u003ccode\u003eforbidWildcardImports\u003c/code\u003e, etc. (\u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2633\"\u003e#2633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/1f4fb93cc671bb2c39dcca1d9502174dc3fbc621\"\u003e\u003ccode\u003e1f4fb93\u003c/code\u003e\u003c/a\u003e Issue \u003ca href=\"https://redirect.github.com/diffplug/spotless/issues/2634\"\u003e#2634\u003c/a\u003e: Add \u003ccode\u003eUpgradeToJava17\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/d8d496abe3c5565642b45c998f6aeedd90204fde\"\u003e\u003ccode\u003ed8d496a\u003c/code\u003e\u003c/a\u003e Fix a test.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/diffplug/spotless/commit/c1a2fe5d6629f8fd92a984d16188c68752bfbd32\"\u003e\u003ccode\u003ec1a2fe5\u003c/code\u003e\u003c/a\u003e Fix unfinished parts of the rename.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/diffplug/spotless/compare/gradle/6.25.0...gradle/8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.diffplug.spotless` from 6.25.0 to 8.0.0\n\nUpdates `com.infradna.tool:bridge-method-annotation` from 1.18 to 1.24\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/90b05fc5d86b8e9362bbb31ccc37b28abdc67e52\"\u003e\u003ccode\u003e90b05fc\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1e3123cf4feaa612e6aa77ccf1a12cfd61a473a9\"\u003e\u003ccode\u003e1e3123c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/29\"\u003e#29\u003c/a\u003e from basil/asm-9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/c89b1025f3a4808e3d03a8a84b3f4ece06b96bf1\"\u003e\u003ccode\u003ec89b102\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.2 to 9.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a60c63572dbb7a1d1aa91b5fbb0866517db88836\"\u003e\u003ccode\u003ea60c635\u003c/code\u003e\u003c/a\u003e Replaced by README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/8a5b5e9c6d5036aa492e43d3552b40cba07e5d8b\"\u003e\u003ccode\u003e8a5b5e9\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/677782c5cd7b3df04755b6f515c184748b019770\"\u003e\u003ccode\u003e677782c\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/jenkinsci/bridge-method-injector/commit/4682998f65e92142b9b3b185c63eb40ea0ed8c07\"\u003e\u003ccode\u003e4682998\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release bridge-method-injector-parent-1.23\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/a2c094ff373921db7d71551d8f3fcd868c56e467\"\u003e\u003ccode\u003ea2c094f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/infradna/bridge-method-injector/issues/27\"\u003e#27\u003c/a\u003e from basil/asm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/cd1a8efd21354ac75447e338eee3298b7aa2386a\"\u003e\u003ccode\u003ecd1a8ef\u003c/code\u003e\u003c/a\u003e Bump ASM from 9.0 to 9.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jenkinsci/bridge-method-injector/commit/1567095d18f443e5cbeb4593520f6fc0345b32fb\"\u003e\u003ccode\u003e1567095\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/infradna/bridge-method-injector/compare/bridge-method-injector-parent-1.18...bridge-method-injector-parent-1.24\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net.bytebuddy:byte-buddy` from 1.14.13 to 1.17.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/raphw/byte-buddy/releases\"\u003enet.bytebuddy:byte-buddy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eByte Buddy 1.17.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSpecify correct JVM environment for Android builds when using the Gradle plugin.\u003c/li\u003e\n\u003cli\u003eAvoid recomputing the size of a parameter list for performance reasons after measuring the significant impact.\u003c/li\u003e\n\u003cli\u003eCorrect validation of JVM names to avoid breaking when Java names are not allowed while JVM names are, with Kotlin and others.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.17.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd convenience wrapper for \u003ccode\u003eResettableClassFileTransformer\u003c/code\u003e that implicitly delegates to correct transformer method.\u003c/li\u003e\n\u003cli\u003eAdd filter for deduplicate fields and methods in class file.\u003c/li\u003e\n\u003cli\u003eAdd missing static requirement of Spotbugs annotations to module descriptors.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eLazinessMode\u003c/code\u003e for \u003ccode\u003eTypePool\u003c/code\u003e and add convenience support to \u003ccode\u003eAgentBuilder\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix source jars for multi-version release to contain duplicated source.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.17.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate ASM to version 9.8 to support Java 25 using ASM reader and writer.\u003c/li\u003e\n\u003cli\u003eInclude \u003ccode\u003eAnnotationRemoval\u003c/code\u003e visitor for removing or replacing annotations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.17.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSafeVarargs\u003c/code\u003e plugin.\u003c/li\u003e\n\u003cli\u003eFix OSGi declaration for \u003cem\u003ebyte-buddy-agent\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.17.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug in ASM to Class File API bridge handling tableswitch instructions.\u003c/li\u003e\n\u003cli\u003eAdd plugin for adding \u003ccode\u003eSafeVarargs\u003c/code\u003e annotations.\u003c/li\u003e\n\u003cli\u003eFurther generify \u003ccode\u003eMemberSubstitution\u003c/code\u003e API.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.17.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Class File API integration to include support for several omitted byte codes.\u003c/li\u003e\n\u003cli\u003eAdjust attach API emulation for OpenJ9 to not create subfolder if temporary folder is set explicitly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.17.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug in \u003ccode\u003eMemberSubstitution\u003c/code\u003e were argument indices were resolved by one digit off.\u003c/li\u003e\n\u003cli\u003eUpdate Class File API integration to avoid that parameter annotations are lost.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.17.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAssure that implicit choice for class reader and class writer are always symmetric with regard to internal representation.\u003c/li\u003e\n\u003cli\u003eRetrofit \u003ccode\u003eMemberSubstitution\u003c/code\u003e to also allow for intercepting invokedynamic instructions.\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003e@Handle\u003c/code\u003e annotations to allow for injecting constant pool-stored method handle in \u003ccode\u003eAdvice\u003c/code\u003e, \u003ccode\u003eMemberSubstitution\u003c/code\u003e and \u003ccode\u003eMethodDelegation\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003e@DynamicConstant\u003c/code\u003e annotations to allow for injecting constant pool-stored dynamic constants in \u003ccode\u003eAdvice\u003c/code\u003e, \u003ccode\u003eMemberSubstitution\u003c/code\u003e and \u003ccode\u003eMethodDelegation\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.16.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect reflective activation of Class File API.\u003c/li\u003e\n\u003cli\u003eReject array descriptors that are not well-formed in \u003ccode\u003eTypePool\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eByte Buddy 1.16.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow for erasure of types of bootstrapped methods in \u003ccode\u003eAdvice\u003c/code\u003e within instrumented class.\u003c/li\u003e\n\u003cli\u003eRework \u003ccode\u003eAdvice\u003c/code\u003e post-processing to allow for erasure of bootstrapped methods.\u003c/li\u003e\n\u003cli\u003eFix missing application of hashCode/equals plugin for Java 8 code.\u003c/li\u003e\n\u003cli\u003eInclude support for JDK Class File API.\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003ePlugin.Engine\u003c/code\u003e to retain folders.\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/raphw/byte-buddy/blob/master/release-notes.md\"\u003enet.bytebuddy:byte-buddy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003e17. August 2025: version 1.17.7\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSpecify correct JVM environment for Android builds when using the Gradle plugin.\u003c/li\u003e\n\u003cli\u003eAvoid recomputing the size of a parameter list for performance reasons after measuring the significant impact.\u003c/li\u003e\n\u003cli\u003eCorrect validation of JVM names to avoid breaking when Java names are not allowed while JVM names are, with Kotlin and others.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e16. June 2025: version 1.17.6\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd convenience wrapper for \u003ccode\u003eResettableClassFileTransformer\u003c/code\u003e that implicitly delegates to correct transformer method.\u003c/li\u003e\n\u003cli\u003eAdd filter for deduplicate fields and methods in class file.\u003c/li\u003e\n\u003cli\u003eAdd missing static requirement of Spotbugs annotations to module descriptors.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eLazinessMode\u003c/code\u003e for \u003ccode\u003eTypePool\u003c/code\u003e and add convenience support to \u003ccode\u003eAgentBuilder\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix source jars for multi-version release to contain duplicated source.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e30. March 2025: version 1.17.5\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate ASM to version 9.8 to support Java 25 using ASM reader and writer.\u003c/li\u003e\n\u003cli\u003eInclude \u003ccode\u003eAnnotationRemoval\u003c/code\u003e visitor for removing or replacing annotations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e23. March 2025: version 1.17.4\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eSafeVarargs\u003c/code\u003e plugin.\u003c/li\u003e\n\u003cli\u003eFix OSGi declaration for \u003cem\u003ebyte-buddy-agent\u003c/em\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e21. March 2025: version 1.17.3\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug in ASM to Class File API bridge handling tableswitch instructions.\u003c/li\u003e\n\u003cli\u003eAdd plugin for adding \u003ccode\u003eSafeVarargs\u003c/code\u003e annotations.\u003c/li\u003e\n\u003cli\u003eFurther generify \u003ccode\u003eMemberSubstitution\u003c/code\u003e API.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e3. March 2025: version 1.17.2\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Class File API integration to include support for several omitted byte codes.\u003c/li\u003e\n\u003cli\u003eAdjust attach API emulation for OpenJ9 to not create subfolder if temporary folder is set explicitly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e14. February 2025: version 1.17.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug in \u003ccode\u003eMemberSubstitution\u003c/code\u003e were argument indices were resolved by one digit off.\u003c/li\u003e\n\u003cli\u003eUpdate Class File API integration to avoid that parameter annotations are lost.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e29. January 2025: version 1.17.0\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAssure that implicit choice for class reader and class writer are always symmetric with regard to internal representation.\u003c/li\u003e\n\u003cli\u003eRetrofit \u003ccode\u003eMemberSubstitution\u003c/code\u003e to also allow for intercepting invokedynamic instructions.\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003e@Handle\u003c/code\u003e annotations to allow for injecting constant pool-stored method handle in \u003ccode\u003eAdvice\u003c/code\u003e, \u003ccode\u003eMemberSubstitution\u003c/code\u003e and \u003ccode\u003eMethodDelegation\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003e@DynamicConstant\u003c/code\u003e annotations to allow for injecting constant pool-stored dynamic constants in \u003ccode\u003eAdvice\u003c/code\u003e, \u003ccode\u003eMemberSubstitution\u003c/code\u003e and \u003ccode\u003eMethodDelegation\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e19. January 2025: version 1.16.1\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect reflective activation of Class File API.\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/raphw/byte-buddy/commit/dc4d0de9c0b71fd5a44d4a0b41d2f0cd762a6639\"\u003e\u003ccode\u003edc4d0de\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release byte-buddy-1.17.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/5e3bf06cbc1df0e876072caec7be7bb4251c08c0\"\u003e\u003ccode\u003e5e3bf06\u003c/code\u003e\u003c/a\u003e [release] Release new version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/5ad9575ef982c0d29cac8c8a8f1b8a055fce79db\"\u003e\u003ccode\u003e5ad9575\u003c/code\u003e\u003c/a\u003e Small improvement of size handling.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/e0e449bbe7705d45785f06fb76feffe4c11c3be3\"\u003e\u003ccode\u003ee0e449b\u003c/code\u003e\u003c/a\u003e [release] Release new version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/75cdf691476fa318f73c8a262da6547e81c96393\"\u003e\u003ccode\u003e75cdf69\u003c/code\u003e\u003c/a\u003e Adjust caching.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/3d7e5b321d41346a7be3df293466c68fb221088a\"\u003e\u003ccode\u003e3d7e5b3\u003c/code\u003e\u003c/a\u003e Minor refactoring.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/0aa4d9afbcb3a3b35318f5b835b4dba77e25fa09\"\u003e\u003ccode\u003e0aa4d9a\u003c/code\u003e\u003c/a\u003e ParameterList - Cache the size and avoid iterator pattern (\u003ca href=\"https://redirect.github.com/raphw/byte-buddy/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/9feca462d92bbb9299ece891338b2e65494b77fe\"\u003e\u003ccode\u003e9feca46\u003c/code\u003e\u003c/a\u003e Specifying configuration jvm environment (\u003ca href=\"https://redirect.github.com/raphw/byte-buddy/issues/1847\"\u003e#1847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/7230e2e421599f779e8b54b8ba68e5b3e46c39e0\"\u003e\u003ccode\u003e7230e2e\u003c/code\u003e\u003c/a\u003e Adjust formatting and naming.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raphw/byte-buddy/commit/dbd2be81a88a93965cfe9409cc4eb2214c973143\"\u003e\u003ccode\u003edbd2be8\u003c/code\u003e\u003c/a\u003e Use JVMS 4.2.2 \u0026quot;Unqualified name\u0026quot; definition to validate identifier (\u003ca href=\"https://redirect.github.com/raphw/byte-buddy/issues/1829\"\u003e#1829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/raphw/byte-buddy/compare/byte-buddy-1.14.13...byte-buddy-1.17.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.commons:commons-collections4` from 4.4 to 4.5.0\n\nUpdates `org.apache.commons:commons-csv` from 1.10.0 to 1.14.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-csv/blob/master/RELEASE-NOTES.txt\"\u003eorg.apache.commons:commons-csv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons CSV 1.14.1 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons CSV team is pleased to announce the release of Apache Commons CSV 1.14.1.\u003c/p\u003e\n\u003cp\u003eThis document contains the release notes for the 1.14.1 version of Apache Commons CSV.\nCommons CSV reads and writes files in Comma Separated Value (CSV) format variations.\u003c/p\u003e\n\u003cp\u003eCommons CSV requires at least Java 8.\u003c/p\u003e\n\u003cp\u003eThe Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003cp\u003eChanges in this version include:\u003c/p\u003e\n\u003ch2\u003eFixed Bugs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCSV-318:  CSVPrinter.printRecord(Stream) hangs if given a parallel stream. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003eCSV-318:  CSVPrinter now uses an internal lock instead of synchronized methods. Thanks to Joseph Shraibman, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      org.apache.commons.csv.CSVPrinter.printRecords(ResultSet) now writes one record at a time using a lock. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-parent from 81 to 85 [#542](https://github.com/apache/commons-csv/issues/542). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-io:commons-io from 2.18.0 to 2.20.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump com.opencsv:opencsv from 5.10 to 5.11.2 [#545](https://github.com/apache/commons-csv/issues/545), [#551](https://github.com/apache/commons-csv/issues/551), [#553](https://github.com/apache/commons-csv/issues/553). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 [#556](https://github.com/apache/commons-csv/issues/556). Thanks to Gary Gregory, Dependabot.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e      Bump commons-codec:commons-codec from 1.18.0 to 1.19.0. Thanks to Gary Gregory.\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHistorical list of changes: \u003ca href=\"https://commons.apache.org/proper/commons-csv/changes.html\"\u003ehttps://commons.apache.org/proper/commons-csv/changes.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFor complete information on Apache Commons CSV, including instructions on how to submit bug reports,\npatches, or suggestions for improvement, see the Apache Commons CSV website:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://commons.apache.org/proper/commons-csv/\"\u003ehttps://commons.apache.org/proper/commons-csv/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDownload page: \u003ca href=\"https://commons.apache.org/proper/commons-csv/download_csv.cgi\"\u003ehttps://commons.apache.org/proper/commons-csv/download_csv.cgi\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eHave fun!\n-Apache Commons CSV team\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003eApache Commons CSV 1.14.0 Release Notes\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/apache/commons-csv/commit/e14ef86d34211f9d1b9b6040c5f6dbafc93ba907\"\u003e\u003ccode\u003ee14ef86\u003c/code\u003e\u003c/a\u003e Ignore macOS file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/d8724bf76a7d6abbb93aad65e316f050f86a256d\"\u003e\u003ccode\u003ed8724bf\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.14.1 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b76971c25af176f901c003b25d6a5f4f6edc87ad\"\u003e\u003ccode\u003eb76971c\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/b66814ef248186b7a8316b85e1208c705dba06e3\"\u003e\u003ccode\u003eb66814e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/apache/commons-csv/issues/557\"\u003e#557\u003c/a\u003e from apache/dependabot/github_actions/github/codeql-a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/9c95e92d6aaa4d052a139158a900395646c6652e\"\u003e\u003ccode\u003e9c95e92\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.29.2 to 3.29.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/1fb37163f9fe59aa13c63efd53e71d7a0392be4c\"\u003e\u003ccode\u003e1fb3716\u003c/code\u003e\u003c/a\u003e Bump commons-codec:commons-codec from 1.18.0 to 1.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/7b72c509f73e05ca2bf2f0945a6a1cb03f87bd39\"\u003e\u003ccode\u003e7b72c50\u003c/code\u003e\u003c/a\u003e Merge some string literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/96583732b6be55d459a5b430c4a3a3bb2126db10\"\u003e\u003ccode\u003e9658373\u003c/code\u003e\u003c/a\u003e Update the GitHub pull request template for AI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/67192a9e0af58bdf49edf4e0d29f50343da82c70\"\u003e\u003ccode\u003e67192a9\u003c/code\u003e\u003c/a\u003e Bump commons-io:commons-io from 2.19.0 to 2.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-csv/commit/59164c8b795ebd4cc0362c4c74d7c893c4a50303\"\u003e\u003ccode\u003e59164c8\u003c/code\u003e\u003c/a\u003e Bump com.opencsv:opencsv from 5.11.1 to 5.11.2 \u003ca href=\"https://redirect.github.com/apache/commons-csv/issues/553\"\u003e#553\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-csv/compare/rel/commons-csv-1.10.0...rel/commons-csv-1.14.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `commons-io:commons-io` from 2.16.1 to 2.20.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-io/blob/master/RELEASE-NOTES.txt\"\u003ecommons-io:commons-io's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eApache Commons IO 2.20.0 Release Notes\u003c/p\u003e\n\u003cp\u003eThe Apache Commons IO team...\n\n_Description has been truncated_","html_url":"https://github.com/ricekot/zap-extensions/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricekot%2Fzap-extensions/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"1.329","new_version":"1.330","update_type":null,"path":"/dashgit-updater","pr_created_at":"2025-10-01T20:07:37.000Z","version_change":"1.329 → 1.330","issue":{"uuid":"2879499199","node_id":"PR_kwDOLO2MSM6roau_","number":226,"state":"closed","title":"Bump org.kohsuke:github-api from 1.329 to 1.330 in /dashgit-updater","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-04T10:43:20.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T20:07:37.000Z","updated_at":"2025-10-04T10:43:21.000Z","time_to_close":225343,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.kohsuke:github-api","old_version":"1.329","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"}],"path":"/dashgit-updater","ecosystem":"maven"},"body":"Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.329 to 1.330.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\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=org.kohsuke:github-api\u0026package-manager=maven\u0026previous-version=1.329\u0026new-version=1.330)](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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/javiertuya/dashgit/pull/226","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/javiertuya%2Fdashgit/issues/226","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/226/packages"}},{"old_version":"1.329","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2025-10-01T19:02:16.000Z","version_change":"1.329 → 1.330","issue":{"uuid":"2879314778","node_id":"PR_kwDOHu-sgM6rntta","number":790,"state":"closed","title":"build(deps): bump org.kohsuke:github-api from 1.329 to 1.330","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-10-02T15:17:16.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T19:02:16.000Z","updated_at":"2025-10-02T15:17:17.000Z","time_to_close":72900,"merged_at":"2025-10-02T15:17:16.000Z","merged_by":"o-kopysov","closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"org.kohsuke:github-api","old_version":"1.329","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"}],"path":null,"ecosystem":"maven"},"body":"Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.329 to 1.330.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\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=org.kohsuke:github-api\u0026package-manager=maven\u0026previous-version=1.329\u0026new-version=1.330)](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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/Samsung/LPVS/pull/790","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Samsung%2FLPVS/issues/790","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/790/packages"}},{"old_version":"1.116","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2025-10-01T11:10:15.000Z","version_change":"1.116 → 1.330","issue":{"uuid":"2877813190","node_id":"PR_kwDOFbgKu86rh_HG","number":1209,"state":"open","title":"Bump org.kohsuke:github-api from 1.116 to 1.330","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-10-01T11:10:15.000Z","updated_at":"2025-10-01T11:10:16.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.kohsuke:github-api","old_version":"1.116","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"}],"path":null,"ecosystem":"maven"},"body":"Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.116 to 1.330.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.116...github-api-1.330\"\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=org.kohsuke:github-api\u0026package-manager=maven\u0026previous-version=1.116\u0026new-version=1.330)](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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/MaxMood96/jetty.project/pull/1209","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxMood96%2Fjetty.project/issues/1209","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1209/packages"}},{"old_version":"1.329","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2025-10-01T10:15:24.000Z","version_change":"1.329 → 1.330","issue":{"uuid":"3472922646","node_id":"PR_kwDOLCkU8c6rhZ4T","number":143,"state":"closed","title":"build(deps): bump the maven-dependencies group with 24 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-01T10:06:53.000Z","author_association":null,"state_reason":null,"created_at":"2025-10-01T10:15:24.000Z","updated_at":"2025-11-01T10:06:55.000Z","time_to_close":2677889,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven-dependencies","update_count":24,"packages":[{"name":"org.jetbrains.kotlin.android","old_version":"2.2.10","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.2.10","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"plugin.serialization","old_version":"2.2.10","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.11.0"},{"name":"androidx.activity:activity-ktx","old_version":"1.10.1","new_version":"1.11.0"},{"name":"androidx.compose:compose-bom","old_version":"2025.08.01","new_version":"2025.09.01"},{"name":"androidx.lifecycle:lifecycle-livedata-ktx","old_version":"2.9.3","new_version":"2.9.4"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.9.3","new_version":"2.9.4"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.9.3","new_version":"2.9.4"},{"name":"androidx.lifecycle:lifecycle-viewmodel-ktx","old_version":"2.9.3","new_version":"2.9.4"},{"name":"androidx.compose.material3:material3","old_version":"1.5.0-alpha03","new_version":"1.5.0-alpha04"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.5.0-alpha03","new_version":"1.5.0-alpha04"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.9.0","new_version":"1.9.2"},{"name":"androidx.compose.ui:ui","old_version":"1.9.0","new_version":"1.9.2"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.9.0","new_version":"1.9.2"},{"name":"androidx.compose.ui:ui-tooling-preview","old_version":"1.9.0","new_version":"1.9.2"},{"name":"androidx.compose.ui:ui-graphics","old_version":"1.9.0","new_version":"1.9.2"},{"name":"org.apache.commons:commons-compress","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/apache/commons-compress"},{"name":"com.google.firebase:firebase-bom","old_version":"34.2.0","new_version":"34.3.0"},{"name":"org.kohsuke:github-api","old_version":"1.329","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.google.code.gson:gson","old_version":"2.13.1","new_version":"2.13.2","repository_url":"https://github.com/google/gson"},{"name":"com.google.android.material:material","old_version":"1.14.0-alpha04","new_version":"1.14.0-alpha05","repository_url":"https://github.com/material-components/material-components-android"},{"name":"androidx.activity:activity","old_version":"1.10.1","new_version":"1.11.0"},{"name":"com.android.application","old_version":"8.12.2","new_version":"8.13.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven-dependencies group with 24 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.2.10` | `2.2.20` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.2.10` | `2.2.20` |\n| [plugin.serialization](https://github.com/JetBrains/kotlin) | `2.2.10` | `2.2.20` |\n| androidx.activity:activity-compose | `1.10.1` | `1.11.0` |\n| androidx.activity:activity-ktx | `1.10.1` | `1.11.0` |\n| androidx.compose:compose-bom | `2025.08.01` | `2025.09.01` |\n| androidx.lifecycle:lifecycle-livedata-ktx | `2.9.3` | `2.9.4` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.9.3` | `2.9.4` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.9.3` | `2.9.4` |\n| androidx.lifecycle:lifecycle-viewmodel-ktx | `2.9.3` | `2.9.4` |\n| androidx.compose.material3:material3 | `1.5.0-alpha03` | `1.5.0-alpha04` |\n| androidx.compose.material3:material3-window-size-class | `1.5.0-alpha03` | `1.5.0-alpha04` |\n| androidx.compose.runtime:runtime-livedata | `1.9.0` | `1.9.2` |\n| androidx.compose.ui:ui | `1.9.0` | `1.9.2` |\n| androidx.compose.ui:ui-tooling | `1.9.0` | `1.9.2` |\n| androidx.compose.ui:ui-tooling-preview | `1.9.0` | `1.9.2` |\n| androidx.compose.ui:ui-graphics | `1.9.0` | `1.9.2` |\n| [org.apache.commons:commons-compress](https://github.com/apache/commons-compress) | `1.27.1` | `1.28.0` |\n| com.google.firebase:firebase-bom | `34.2.0` | `34.3.0` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.329` | `1.330` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.1` | `2.13.2` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.14.0-alpha04` | `1.14.0-alpha05` |\n| androidx.activity:activity | `1.10.1` | `1.11.0` |\n| com.android.application | `8.12.2` | `8.13.0` |\n\nUpdates `org.jetbrains.kotlin.android` from 2.2.10 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.10 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plugin.serialization` from 2.2.10 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eplugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eplugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.10...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.11.0\n\nUpdates `androidx.activity:activity-ktx` from 1.10.1 to 1.11.0\n\nUpdates `androidx.activity:activity-ktx` from 1.10.1 to 1.11.0\n\nUpdates `androidx.compose:compose-bom` from 2025.08.01 to 2025.09.01\n\nUpdates `androidx.lifecycle:lifecycle-livedata-ktx` from 2.9.3 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.3 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.3 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.9.3 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.9.3 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.9.3 to 2.9.4\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.9.3 to 2.9.4\n\nUpdates `androidx.compose.material3:material3` from 1.5.0-alpha03 to 1.5.0-alpha04\n\nUpdates `androidx.compose.material3:material3-window-size-class` from 1.5.0-alpha03 to 1.5.0-alpha04\n\nUpdates `androidx.compose.material3:material3-window-size-class` from 1.5.0-alpha03 to 1.5.0-alpha04\n\nUpdates `androidx.compose.runtime:runtime-livedata` from 1.9.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui` from 1.9.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-tooling` from 1.9.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.9.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-graphics` from 1.9.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-tooling` from 1.9.0 to 1.9.2\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.9.0 to 1.9.2\n\nUpdates `org.apache.commons:commons-compress` from 1.27.1 to 1.28.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/commons-compress/blob/master/RELEASE-NOTES.txt\"\u003eorg.apache.commons:commons-compress's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Commons Compress 1.28.0 Release Notes\u003c/h2\u003e\n\u003cp\u003eThe Apache Commons Compress team is pleased to announce the release of Apache Commons Compress 1.28.0.\u003c/p\u003e\n\u003cp\u003eApache Commons Compress defines an API for working with\ncompression and archive formats. These include bzip2, gzip, pack200,\nLZMA, XZ, Snappy, traditional Unix Compress, DEFLATE, DEFLATE64, LZ4,\nBrotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj.\u003c/p\u003e\n\u003cp\u003eThis is a feature and maintenance release. Java 8 or later is required.\u003c/p\u003e\n\u003cp\u003eThis release updates Apache Commons Lang to 3.18.0 to pick up the fix for CVE-2025-48924 (\u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2025-48924\"\u003ehttps://nvd.nist.gov/vuln/detail/CVE-2025-48924\u003c/a\u003e), but is not affected by it.\u003c/p\u003e\n\u003ch2\u003eChanges in this version\u003c/h2\u003e\n\u003cp\u003eChanges in this version include the following.\u003c/p\u003e\n\u003ch2\u003eNew Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipParameters.getModificationInstant(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipParameters.setModificationInstant(Instant). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipParameters.OS, setOS(OS), getOS(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipParameters.toString(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCOMPRESS-638:  Add GzipParameters.setFileNameCharset(Charset) and getFileNameCharset() to override the default ISO-8859-1 Charset \u003ca href=\"https://redirect.github.com/apache/commons-compress/issues/602\"\u003e#602\u003c/a\u003e. Thanks to vincexjl, Gary Gregory, Piotr P. Karwasz.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add support for gzip extra subfields, see GzipParameters.setExtra(HeaderExtraField) [#604](https://github.com/apache/commons-compress/issues/604). Thanks to ddeschenes-1, Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add CompressFilterOutputStream and refactor to use. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add ZipFile.stream(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       GzipCompressorInputStream reads the modification time (MTIME) and stores its value incorrectly multiplied by 1,000. Thanks to Danny Deschenes, Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       GzipCompressorInputStream writes the modification time (MTIME) the value incorrectly divided by 1,000. Thanks to Danny Deschenes, Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add optional FHCRC to GZIP header [#627](https://github.com/apache/commons-compress/issues/627). Thanks to Danny Deschenes, Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipCompressorInputStream.Builder allowing to customize the file name and comment Charsets. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipCompressorInputStream.Builder.setOnMemberStart(IOConsumer) to monitor member parsing. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add GzipCompressorInputStream.Builder.setOnMemberEnd(IOConsumer) to monitor member parsing. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add PMD check to default Maven goal. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add SevenZFile.Builder.setMaxMemoryLimitKiB(int). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add MemoryLimitException.MemoryLimitException(long, int, Throwable) and deprecate MemoryLimitException.MemoryLimitException(long, int, Exception). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCOMPRESS-692:  Add support for zstd compression in zip archives. Thanks to Mehmet Karaman, Andrey Loskutov, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add support for XZ compression in ZIP archives. Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCOMPRESS-695:  Add ZipArchiveInputStream.createZstdInputStream(InputStream) to provide a different InputStream implementation for Zstandard (Zstd) \u003ca href=\"https://redirect.github.com/apache/commons-compress/issues/649\"\u003e#649\u003c/a\u003e. Thanks to Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.harmony.pack200.Pack200Exception.Pack200Exception(String, Throwable). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eCOMPRESS-697:  Move BitStream.nextBit() method to BitInputStream \u003ca href=\"https://redirect.github.com/apache/commons-compress/issues/663\"\u003e#663\u003c/a\u003e. Thanks to Fredrik Kjellberg, Gary Gregory.\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.lzma.LZMACompressorInputStream.builder/Builder(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.lzma.LZMACompressorOutputStream.builder/Builder(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.xz.XZCompressorInputStream.builder/Builder(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.xz.XZCompressorOutputStream.builder/Builder(). Thanks to Gary Gregory. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.xz.ZstdCompressorOutputStream.builder/Builder() [#666](https://github.com/apache/commons-compress/issues/666). Thanks to Gary Gregory, David Walluck, Piotr P. Karwasz. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cpre\u003e\u003ccode\u003e       Add org.apache.commons.compress.compressors.xz.ZstdConstants [#666](https://github.com/apache/commons-compress/issues/666). Thanks to Gary Gregory, David Walluck, Piotr P. Karwasz. \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/852d9c23b94127feafc1649d9c7f13d4df338845\"\u003e\u003ccode\u003e852d9c2\u003c/code\u003e\u003c/a\u003e Prepare for the release candidate 1.28.0 RC1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/f5eb9e28edf8a661ac5efc43b7853ee49bb73b3a\"\u003e\u003ccode\u003ef5eb9e2\u003c/code\u003e\u003c/a\u003e Prepare for the next release candidate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/36f204caa6f7bb2c92a9ad04ba246ad47a2465d2\"\u003e\u003ccode\u003e36f204c\u003c/code\u003e\u003c/a\u003e Camel case parameter name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/4c04e4a803831c00663a6dafd0f0837fba60633b\"\u003e\u003ccode\u003e4c04e4a\u003c/code\u003e\u003c/a\u003e Use final\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/6cb7da194a9369edfbd65629576203b8af61ba44\"\u003e\u003ccode\u003e6cb7da1\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/563c9d2fa4d2340902284fc044a7398fc15da5fb\"\u003e\u003ccode\u003e563c9d2\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/ce73bd890e50fcb88d362fc8298f31fa90d802aa\"\u003e\u003ccode\u003ece73bd8\u003c/code\u003e\u003c/a\u003e Javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/a464ae94e0f9c59e9bc30be6086d876f9907d0a4\"\u003e\u003ccode\u003ea464ae9\u003c/code\u003e\u003c/a\u003e Better parameter names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/c0b2b84144d923a2bf7caada35e1d9bb5d562e78\"\u003e\u003ccode\u003ec0b2b84\u003c/code\u003e\u003c/a\u003e Add TODO for next major version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/commons-compress/commit/c76bc976703dc0cebfb6d4653061b8ac3524421d\"\u003e\u003ccode\u003ec76bc97\u003c/code\u003e\u003c/a\u003e Use OpenVEX to document that we are not affected by CVE-2025-48924 in\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/commons-compress/compare/rel/commons-compress-1.27.1...rel/commons-compress-1.28.0\"\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-bom` from 34.2.0 to 34.3.0\n\nUpdates `org.kohsuke:github-api` from 1.329 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.code.gson:gson` from 2.13.1 to 2.13.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/gson/releases\"\u003ecom.google.code.gson:gson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGson 2.13.2\u003c/h2\u003e\n\u003cp\u003eThe main changes in this release are just newer dependencies.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved packaging of JPMS module declaration in Gson jar\u003cbr /\u003e\nThis fixes an issue where Eclipse and VS Code users could not refer to the Gson module name \u003ccode\u003ecom.google.gson\u003c/code\u003e. See issue \u003ca href=\"https://redirect.github.com/google/gson/issues/2679\"\u003egoogle/gson#2679\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove internal class \u003ccode\u003eGsonPreconditions\u003c/code\u003e by \u003ca href=\"https://github.com/Marcono1234\"\u003e\u003ccode\u003e@​Marcono1234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2879\"\u003egoogle/gson#2879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSwitch to using central-publishing-maven-plugin by \u003ca href=\"https://github.com/eamonnmcmanus\"\u003e\u003ccode\u003e@​eamonnmcmanus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2900\"\u003egoogle/gson#2900\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2852\"\u003egoogle/gson#2852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ChrisCraik\"\u003e\u003ccode\u003e@​ChrisCraik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2856\"\u003egoogle/gson#2856\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.1...gson-parent-2.13.2\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.13.1...gson-parent-2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/686fad782d969d8f15c7581a5435a208b810caa7\"\u003e\u003ccode\u003e686fad7\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release gson-parent-2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/c2d252a7e93d45b224a72b4ba8148a438cc1d59b\"\u003e\u003ccode\u003ec2d252a\u003c/code\u003e\u003c/a\u003e Switch to using central-publishing-maven-plugin. (\u003ca href=\"https://redirect.github.com/google/gson/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/69cb755e5209b719b57f3b6f1a864b080cdca314\"\u003e\u003ccode\u003e69cb755\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 5 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/ea552c2278784e12094c8daea06b18679b2da2c9\"\u003e\u003ccode\u003eea552c2\u003c/code\u003e\u003c/a\u003e Bump the maven group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2898\"\u003e#2898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/fdc616d0da2fea0b28828386a38396eac66d85fd\"\u003e\u003ccode\u003efdc616d\u003c/code\u003e\u003c/a\u003e Set top-level permissions for CodeQL workflow (\u003ca href=\"https://redirect.github.com/google/gson/issues/2889\"\u003e#2889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/9334715a48aaf11c9f80f89f8242ba7d1c2d0c27\"\u003e\u003ccode\u003e9334715\u003c/code\u003e\u003c/a\u003e Create scorecard.yml (\u003ca href=\"https://redirect.github.com/google/gson/issues/2888\"\u003e#2888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/f7de5c2c22dae98f2f98eefcb70c920ff71e437b\"\u003e\u003ccode\u003ef7de5c2\u003c/code\u003e\u003c/a\u003e Bump the maven group with 8 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2885\"\u003e#2885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/8c23cd363daec806d2e9b69665520043914782ac\"\u003e\u003ccode\u003e8c23cd3\u003c/code\u003e\u003c/a\u003e Update sources to satisfy a new Error Prone check. (\u003ca href=\"https://redirect.github.com/google/gson/issues/2887\"\u003e#2887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5eab3eda9fff9db77b82eae621c26f1d7263386f\"\u003e\u003ccode\u003e5eab3ed\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2886\"\u003e#2886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5f5c20026009010608de17a9e5312849230b3b0b\"\u003e\u003ccode\u003e5f5c200\u003c/code\u003e\u003c/a\u003e Bump the maven group across 1 directory with 10 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2872\"\u003e#2872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.1...gson-parent-2.13.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.android.material:material` from 1.14.0-alpha04 to 1.14.0-alpha05\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/material-components/material-components-android/releases\"\u003ecom.google.android.material:material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.14.0-alpha05\u003c/h2\u003e\n\u003ch2\u003eImportant\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003ecompileSdkVersion\u003c/code\u003e was updated to 35.\u003c/li\u003e\n\u003cli\u003eLibrary is now built with AGP 8.11.1 and Gradle 8.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDependency Updates\u003c/h2\u003e\n\u003cp\u003eNone\u003c/p\u003e\n\u003ch2\u003eLibrary Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eCatalog\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate nav drawer demo to use dispatchKeyEvent instead of onKeyDown since onKeyDown can sometimes be consumed by a view with focus (fe1c0d6ca1d43c091606ffb2e7d616ac49de858d)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eChip\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFixed fontVariationSettings from TextAppearance being overwritten in ChipDrawable. (de5730e0d1bb0414f31b530e835dde713230bdf7)\u003c/li\u003e\n\u003cli\u003eAdded support for variable font axes (fb7ae0134841550d47733bb7c83cf636b3f28144)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eDocumentation\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003erename buttongroup-overflow-menu.png to buttongroup-overflow-wrap.png (add buttongroup-overflow-menu.png) (14cb33b3ca8968f325fca2b88f5649a126d2ffb6)\u003c/li\u003e\n\u003cli\u003eRemoved the default style and updated the theme attribute code for non-default (9e1c68d6f21cd13deea43f0839532747668cfe14)\u003c/li\u003e\n\u003cli\u003eUpdated documentation with Expressive code/info for: (fca1418bf401b36ad67d37f8968c261cc3ebe2cd)\u003c/li\u003e\n\u003cli\u003eUpdated documentation with additional code/info and updated the nomenclature of images in the following docs: (cc2390f1a2b314c4f89114f51ad81fb642e491eb)\u003c/li\u003e\n\u003cli\u003eUpdated docs with Expressive code/info. (2b29a266adaac3ea8cca0cc6027cead9723cc351)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eLists\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eAdd selector for optional leading icon (14a6267605fee561fbba9c31ec11bfc67131bd71)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialButton\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the \u0026quot;wrap\u0026quot; overflow mode. (7c66a2ef9474046b8fbd45e3cfa8de0c89dc2a4a)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMaterialCardView\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eAdds keyboard drag and drop support to the card demo fragment (11fafd96b6ab8d9b9c5b07f895b0e4d300559104)\u003c/li\u003e\n\u003cli\u003eAdd drawable states that MaterialCardView should still respect, even if duplicating its parent state (c99cba6a7642e22e42a958b75154699a49888a09)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMenu\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eFix context menu keyboard controls in Menu demo (fb26da61e63b4e2861bb9b90bd82a9f315adde30)\u003c/li\u003e\n\u003cli\u003eUpdate Menu Catalog Demo to use Ctrl + Enter for Context Menu (4852ebcf2f622138bd8a23b8d95eae4e5e652a36)\u003c/li\u003e\n\u003cli\u003eMake context menu TextView focusable on Menu demo screen (8dd5a810868fee5db7566d5b3709a9387a4835d1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eProgressIndicator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an API to automatically hide the indicator after it reaches max progress. (4c74b80de2317a2d5d4bdeb720b20b54d1204980)\u003c/li\u003e\n\u003cli\u003eUpdated SpringAnimation's minimum visible change and added APIs to customize spring force in DeterminateDrawable. (659e3bcb6d7582a3de4c204f91c0c12a8db35981)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSideSheet\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eImprove keyboard navigation in SideSheet catalog demos (59f0fc5f418179c3701314f091057d9981c38deb)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTimePicker\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eAccessibility focus on error (9d8506a02045ec19887c4fe687819a6f4a81af5d)\u003c/li\u003e\n\u003cli\u003eFix error beep sound (5f7634f9191c385bd378cba6b4bf8462d830a333)\u003c/li\u003e\n\u003cli\u003eError handling update (d241d48bb08e9143ce93c14fdba300815d04bce8)\u003c/li\u003e\n\u003cli\u003eError handling update (d2cce659d189257fa72a9f82dbedf53fa6736273)\u003c/li\u003e\n\u003cli\u003eAdd tooltip to MaterialTimePicker mode toggle button (e69709f5fac1cadda5efdd7f59d003f3fca6fac9)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eTopAppBar\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003eImprove keyboard navigation in TopAppBar catalog demos (98a73a61d272d3e38ee87dd4b322f7787c374a9c)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFull list of changes\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/material-components/material-components-android/compare/1.14.0-alpha04...1.14.0-alpha05\"\u003ehttps://github.com/material-components/material-components-android/compare/1.14.0-alpha04...1.14.0-alpha05\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/material-components/material-components-android/commit/2cbd7b08ba856866fcc63318bce030ff83e006de\"\u003e\u003ccode\u003e2cbd7b0\u003c/code\u003e\u003c/a\u003e [i18n] Update string translations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/0bdb13b770e898628053c4a004f9e06692fc380b\"\u003e\u003ccode\u003e0bdb13b\u003c/code\u003e\u003c/a\u003e [Release] Update library version to 1.14.0-alpha05\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/9d8506a02045ec19887c4fe687819a6f4a81af5d\"\u003e\u003ccode\u003e9d8506a\u003c/code\u003e\u003c/a\u003e [TimePicker] Accessibility focus on error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/80106b57f199dd0de167eeb40a8bb19b1681b567\"\u003e\u003ccode\u003e80106b5\u003c/code\u003e\u003c/a\u003e Internal change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/14cb33b3ca8968f325fca2b88f5649a126d2ffb6\"\u003e\u003ccode\u003e14cb33b\u003c/code\u003e\u003c/a\u003e [Docs] rename buttongroup-overflow-menu.png to buttongroup-overflow-wrap.png ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/de5730e0d1bb0414f31b530e835dde713230bdf7\"\u003e\u003ccode\u003ede5730e\u003c/code\u003e\u003c/a\u003e [Chip] Fixed fontVariationSettings from TextAppearance being overwritten in C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/5f7634f9191c385bd378cba6b4bf8462d830a333\"\u003e\u003ccode\u003e5f7634f\u003c/code\u003e\u003c/a\u003e [TimePicker] Fix error beep sound\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fb7ae0134841550d47733bb7c83cf636b3f28144\"\u003e\u003ccode\u003efb7ae01\u003c/code\u003e\u003c/a\u003e [Chip] Added support for variable font axes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/11fafd96b6ab8d9b9c5b07f895b0e4d300559104\"\u003e\u003ccode\u003e11fafd9\u003c/code\u003e\u003c/a\u003e [Card][A11y] Adds keyboard drag and drop support to the card demo fragment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/material-components/material-components-android/commit/fb26da61e63b4e2861bb9b90bd82a9f315adde30\"\u003e\u003ccode\u003efb26da6\u003c/code\u003e\u003c/a\u003e [Menu][A11y] Fix context menu keyboard controls in Menu demo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/material-components/material-components-android/compare/1.14.0-alpha04...1.14.0-alpha05\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.activity:activity` from 1.10.1 to 1.11.0\n\nUpdates `com.android.application` from 8.12.2 to 8.13.0\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.2.10 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"h...\n\n_Description has been truncated_","html_url":"https://github.com/klxiaoniu/QQVersionList/pull/143","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/klxiaoniu%2FQQVersionList/issues/143","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/143/packages"}},{"old_version":"1.329","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2025-10-01T02:01:38.000Z","version_change":"1.329 → 1.330","issue":{"uuid":"2876583372","node_id":"PR_kwDOBdifgc6rdS3M","number":375,"state":"closed","title":"Bump the gradle-deps group with 5 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-10-01T05:52:33.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T02:01:38.000Z","updated_at":"2025-10-01T05:52:33.000Z","time_to_close":13855,"merged_at":"2025-10-01T05:52:33.000Z","merged_by":"chadlwilson","closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-deps","update_count":5,"packages":[{"name":"org.junit:junit-bom","old_version":"5.13.4","new_version":"6.0.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"com.google.code.gson:gson","old_version":"2.13.1","new_version":"2.13.2","repository_url":"https://github.com/google/gson"},{"name":"org.kohsuke:github-api","old_version":"1.329","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"org.assertj:assertj-core","old_version":"3.27.4","new_version":"3.27.6","repository_url":"https://github.com/assertj/assertj"},{"name":"org.mockito:mockito-core","old_version":"5.19.0","new_version":"5.20.0","repository_url":"https://github.com/mockito/mockito"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-deps group with 5 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.junit:junit-bom](https://github.com/junit-team/junit-framework) | `5.13.4` | `6.0.0` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.1` | `2.13.2` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.329` | `1.330` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.27.4` | `3.27.6` |\n| [org.mockito:mockito-core](https://github.com/mockito/mockito) | `5.19.0` | `5.20.0` |\n\nUpdates `org.junit:junit-bom` from 5.13.4 to 6.0.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.0.0 = Platform 6.0.0 + Jupiter 6.0.0 + Vintage 6.0.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0/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/2897robo\"\u003e\u003ccode\u003e@​2897robo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4525\"\u003ejunit-team/junit-framework#4525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/strangelookingnerd\"\u003e\u003ccode\u003e@​strangelookingnerd\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4683\"\u003ejunit-team/junit-framework#4683\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eric6iese\"\u003e\u003ccode\u003e@​eric6iese\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4717\"\u003ejunit-team/junit-framework#4717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/raccoonback\"\u003e\u003ccode\u003e@​raccoonback\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4822\"\u003ejunit-team/junit-framework#4822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/currenjin\"\u003e\u003ccode\u003e@​currenjin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4823\"\u003ejunit-team/junit-framework#4823\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\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/r5.14.0...r6.0.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r5.14.0...r6.0.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC3 = Platform 6.0.0-RC3 + Jupiter 6.0.0-RC3 + Vintage 6.0.0-RC3\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC3/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/mehulimukherjee\"\u003e\u003ccode\u003e@​mehulimukherjee\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4913\"\u003ejunit-team/junit-framework#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lslonina\"\u003e\u003ccode\u003e@​lslonina\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4629\"\u003ejunit-team/junit-framework#4629\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-RC2...r6.0.0-RC3\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC2...r6.0.0-RC3\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC2 = Platform 6.0.0-RC2 + Jupiter 6.0.0-RC2 + Vintage 6.0.0-RC2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-RC2/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-RC1...r6.0.0-RC2\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-RC1 = Platform 6.0.0-RC1 + Jupiter 6.0.0-RC1 + Vintage 6.0.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.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/raccoonback\"\u003e\u003ccode\u003e@​raccoonback\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4822\"\u003ejunit-team/junit-framework#4822\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/currenjin\"\u003e\u003ccode\u003e@​currenjin\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4823\"\u003ejunit-team/junit-framework#4823\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-M2...r6.0.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-M2...r6.0.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.0.0-M2 = Platform 6.0.0-M2 + Jupiter 6.0.0-M2 + Vintage 6.0.0-M2\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.0.0-M2/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/eric6iese\"\u003e\u003ccode\u003e@​eric6iese\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4717\"\u003ejunit-team/junit-framework#4717\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-M1...r6.0.0-M2\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0-M1...r6.0.0-M2\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4f7959463a5bc1fc6a1150aefcbf1ff42927a18e\"\u003e\u003ccode\u003e4f79594\u003c/code\u003e\u003c/a\u003e Release 6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/55af30a7ffca8fd64a9c9e38958407285d23ffe0\"\u003e\u003ccode\u003e55af30a\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Use \u003ccode\u003edevelop/6.x\u003c/code\u003e branch for junit-examples during release build\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/df3cfdd52554cb71111a3fa48bff0b5518072f87\"\u003e\u003ccode\u003edf3cfdd\u003c/code\u003e\u003c/a\u003e Release 5.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/fcb84a25bc12e20a5330f3d46dd1cb5cbf2a4905\"\u003e\u003ccode\u003efcb84a2\u003c/code\u003e\u003c/a\u003e Disable backward compatibility check when offline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/c9c8344ce55a7a77c9fa8848db21c279473ec22d\"\u003e\u003ccode\u003ec9c8344\u003c/code\u003e\u003c/a\u003e Prune 5.14.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/03d8a725f07b484c070dd459aa8fd642222f06ee\"\u003e\u003ccode\u003e03d8a72\u003c/code\u003e\u003c/a\u003e Update broken link to using API Gaurdian with bndtools\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a0b29b46c05ac11b2e7cac1a1535276c465b0ad\"\u003e\u003ccode\u003e3a0b29b\u003c/code\u003e\u003c/a\u003e Use temporary JUnit 6 logo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/6603caa17823bd632436e040ace1507404c2c4c3\"\u003e\u003ccode\u003e6603caa\u003c/code\u003e\u003c/a\u003e Rename \u003ccode\u003eeclipseClasspath\u003c/code\u003e to \u003ccode\u003eeclipseConventions\u003c/code\u003e to avoid confusion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/ab3470b8ad05e71e0dfa26cc3c4f5e5d2583ee74\"\u003e\u003ccode\u003eab3470b\u003c/code\u003e\u003c/a\u003e Make sealed \u003ccode\u003eMediaType\u003c/code\u003e work in Eclipse\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/a8cd41e5164030dd815a75d1d513df8fa846fac0\"\u003e\u003ccode\u003ea8cd41e\u003c/code\u003e\u003c/a\u003e Remove annotations not visible in Eclipse\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r5.13.4...r6.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.code.gson:gson` from 2.13.1 to 2.13.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/gson/releases\"\u003ecom.google.code.gson:gson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eGson 2.13.2\u003c/h2\u003e\n\u003cp\u003eThe main changes in this release are just newer dependencies.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved packaging of JPMS module declaration in Gson jar\u003cbr /\u003e\nThis fixes an issue where Eclipse and VS Code users could not refer to the Gson module name \u003ccode\u003ecom.google.gson\u003c/code\u003e. See issue \u003ca href=\"https://redirect.github.com/google/gson/issues/2679\"\u003egoogle/gson#2679\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove internal class \u003ccode\u003eGsonPreconditions\u003c/code\u003e by \u003ca href=\"https://github.com/Marcono1234\"\u003e\u003ccode\u003e@​Marcono1234\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2879\"\u003egoogle/gson#2879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSwitch to using central-publishing-maven-plugin by \u003ca href=\"https://github.com/eamonnmcmanus\"\u003e\u003ccode\u003e@​eamonnmcmanus\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/google/gson/pull/2900\"\u003egoogle/gson#2900\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MukjepScarlet\"\u003e\u003ccode\u003e@​MukjepScarlet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2852\"\u003egoogle/gson#2852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ChrisCraik\"\u003e\u003ccode\u003e@​ChrisCraik\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/google/gson/pull/2856\"\u003egoogle/gson#2856\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.1...gson-parent-2.13.2\"\u003ehttps://github.com/google/gson/compare/gson-parent-2.13.1...gson-parent-2.13.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/686fad782d969d8f15c7581a5435a208b810caa7\"\u003e\u003ccode\u003e686fad7\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release gson-parent-2.13.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/c2d252a7e93d45b224a72b4ba8148a438cc1d59b\"\u003e\u003ccode\u003ec2d252a\u003c/code\u003e\u003c/a\u003e Switch to using central-publishing-maven-plugin. (\u003ca href=\"https://redirect.github.com/google/gson/issues/2900\"\u003e#2900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/69cb755e5209b719b57f3b6f1a864b080cdca314\"\u003e\u003ccode\u003e69cb755\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 5 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2894\"\u003e#2894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/ea552c2278784e12094c8daea06b18679b2da2c9\"\u003e\u003ccode\u003eea552c2\u003c/code\u003e\u003c/a\u003e Bump the maven group across 1 directory with 3 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2898\"\u003e#2898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/fdc616d0da2fea0b28828386a38396eac66d85fd\"\u003e\u003ccode\u003efdc616d\u003c/code\u003e\u003c/a\u003e Set top-level permissions for CodeQL workflow (\u003ca href=\"https://redirect.github.com/google/gson/issues/2889\"\u003e#2889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/9334715a48aaf11c9f80f89f8242ba7d1c2d0c27\"\u003e\u003ccode\u003e9334715\u003c/code\u003e\u003c/a\u003e Create scorecard.yml (\u003ca href=\"https://redirect.github.com/google/gson/issues/2888\"\u003e#2888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/f7de5c2c22dae98f2f98eefcb70c920ff71e437b\"\u003e\u003ccode\u003ef7de5c2\u003c/code\u003e\u003c/a\u003e Bump the maven group with 8 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2885\"\u003e#2885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/8c23cd363daec806d2e9b69665520043914782ac\"\u003e\u003ccode\u003e8c23cd3\u003c/code\u003e\u003c/a\u003e Update sources to satisfy a new Error Prone check. (\u003ca href=\"https://redirect.github.com/google/gson/issues/2887\"\u003e#2887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5eab3eda9fff9db77b82eae621c26f1d7263386f\"\u003e\u003ccode\u003e5eab3ed\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2886\"\u003e#2886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/gson/commit/5f5c20026009010608de17a9e5312849230b3b0b\"\u003e\u003ccode\u003e5f5c200\u003c/code\u003e\u003c/a\u003e Bump the maven group across 1 directory with 10 updates (\u003ca href=\"https://redirect.github.com/google/gson/issues/2872\"\u003e#2872\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/gson/compare/gson-parent-2.13.1...gson-parent-2.13.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.kohsuke:github-api` from 1.329 to 1.330\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\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.4 to 3.27.6\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.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\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Byte Buddy 1.17.7 \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3947\"\u003e#3947\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade to JUnit BOM 5.13.4 \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3947\"\u003e#3947\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Guava 33.4.8-jre \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3947\"\u003e#3947\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/assertj/assertj/commit/716b1e0a6a372890cd4b3495b954f57755e99471\"\u003e\u003ccode\u003e716b1e0\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release assertj-build-3.27.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/e1896529a38377dfb6eaa199ecb33c79b2a58591\"\u003e\u003ccode\u003ee189652\u003c/code\u003e\u003c/a\u003e Add 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\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/0cb489e99980dd384135d06a0967bd3ce712b219\"\u003e\u003ccode\u003e0cb489e\u003c/code\u003e\u003c/a\u003e Update Maven Central URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/72863098a2c7194b1acef0a8ed0f4c564e422c3d\"\u003e\u003ccode\u003e7286309\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/assertj/assertj/commit/dd4cc1de575a224805a1614394046046cf2b4f99\"\u003e\u003ccode\u003edd4cc1d\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release assertj-build-3.27.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/1d0defc0dbabfe3cc12b34173dd88933cbc61fcb\"\u003e\u003ccode\u003e1d0defc\u003c/code\u003e\u003c/a\u003e Add missing permission to release workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/844d5d04af570d6772478d0309576cdd4c3a5c6d\"\u003e\u003ccode\u003e844d5d0\u003c/code\u003e\u003c/a\u003e Add missing GitHub Actions pinning to CodeQL workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/bdd7106814be9cf71e4ceb77e0db399aa1f79b5b\"\u003e\u003ccode\u003ebdd7106\u003c/code\u003e\u003c/a\u003e Add CodeQL custom workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/a93d7e632ae17d916c6a9da867571054a4b53e75\"\u003e\u003ccode\u003ea93d7e6\u003c/code\u003e\u003c/a\u003e Remove EOL Java 24\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/26ea866a2a9bece0f6f660f61b0483eaaabf27dc\"\u003e\u003ccode\u003e26ea866\u003c/code\u003e\u003c/a\u003e Update production dependencies (\u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3947\"\u003e#3947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/assertj/assertj/compare/assertj-build-3.27.4...assertj-build-3.27.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.mockito:mockito-core` from 5.19.0 to 5.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mockito/mockito/releases\"\u003eorg.mockito:mockito-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.20.0\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003cem\u003eChangelog generated by \u003ca href=\"https://github.com/shipkit/shipkit-changelog\"\u003eShipkit Changelog Gradle Plugin\u003c/a\u003e\u003c/em\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch4\u003e5.20.0\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e2025-09-20 - \u003ca href=\"https://github.com/mockito/mockito/compare/v5.19.0...v5.20.0\"\u003e11 commit(s)\u003c/a\u003e by Adrian-Kim, Giulio Longfils, Rafael Winterhalter, dependabot[bot]\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.4 to 3.27.5 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3730\"\u003e#3730\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3730\"\u003emockito/mockito#3730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIntroducing the Ability to Mock Construction of Generic Types (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/2401\"\u003e#2401\u003c/a\u003e) [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3729\"\u003e#3729\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3729\"\u003emockito/mockito#3729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump com.gradle.develocity from 4.1.1 to 4.2 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3726\"\u003e#3726\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3726\"\u003emockito/mockito#3726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump graalvm/setup-graalvm from 1.3.6 to 1.3.7 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3725\"\u003e#3725\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3725\"\u003emockito/mockito#3725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump org.eclipse.platform:org.eclipse.osgi from 3.23.100 to 3.23.200 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3720\"\u003e#3720\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3720\"\u003emockito/mockito#3720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump graalvm/setup-graalvm from 1.3.5 to 1.3.6 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3719\"\u003e#3719\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3719\"\u003emockito/mockito#3719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump actions/setup-java from 4 to 5 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3715\"\u003e#3715\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3715\"\u003emockito/mockito#3715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump com.gradle.develocity from 4.1 to 4.1.1 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3713\"\u003e#3713\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3713\"\u003emockito/mockito#3713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump bytebuddy from 1.17.6 to 1.17.7 [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3712\"\u003e#3712\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3712\"\u003emockito/mockito#3712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: Use Assume.assumeThat for SequencedCollection tests [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3711\"\u003e#3711\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3711\"\u003emockito/mockito#3711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3709\"\u003e#3709\u003c/a\u003e [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3710\"\u003e#3710\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3710\"\u003emockito/mockito#3710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: Add support for JDK21 Sequenced Collections. [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3708\"\u003e#3708\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/pull/3708\"\u003emockito/mockito#3708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIntroducing the Ability to Mock Construction of Generic Types [(\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/2401\"\u003e#2401\u003c/a\u003e)](\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/2401\"\u003emockito/mockito#2401\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/mockito/mockito/commit/3a1a19ee40f1234048880393343405046fc3fa60\"\u003e\u003ccode\u003e3a1a19e\u003c/code\u003e\u003c/a\u003e Add support for generic types in \u003ccode\u003eMockedConstruction\u003c/code\u003e and \u003ccode\u003eMockedStatic\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3729\"\u003e#3729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/f3c957a74e39a78c31b7fd2e48bf9f4c3a13112c\"\u003e\u003ccode\u003ef3c957a\u003c/code\u003e\u003c/a\u003e Bump org.assertj:assertj-core from 3.27.4 to 3.27.5 (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3730\"\u003e#3730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/3cfbd427182ef7c9ae718873ffb85b5ed4f04758\"\u003e\u003ccode\u003e3cfbd42\u003c/code\u003e\u003c/a\u003e Bump graalvm/setup-graalvm from 1.3.6 to 1.3.7 (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3725\"\u003e#3725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/6f9a04bbd7c7894a38b34658456691823866112c\"\u003e\u003ccode\u003e6f9a04b\u003c/code\u003e\u003c/a\u003e Bump com.gradle.develocity from 4.1.1 to 4.2 (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3726\"\u003e#3726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/c75dfb886cbfbed9c0d5d36681a103205a264a8c\"\u003e\u003ccode\u003ec75dfb8\u003c/code\u003e\u003c/a\u003e Bump org.eclipse.platform:org.eclipse.osgi from 3.23.100 to 3.23.200 (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3720\"\u003e#3720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/54474fa1dd9455913181567536ca1d60f00880f5\"\u003e\u003ccode\u003e54474fa\u003c/code\u003e\u003c/a\u003e Bump graalvm/setup-graalvm from 1.3.5 to 1.3.6 (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3719\"\u003e#3719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/bc06f214c0c9505a1887e4422a449c6304993ff5\"\u003e\u003ccode\u003ebc06f21\u003c/code\u003e\u003c/a\u003e Use Assume.assumeThat for SequencedCollection tests (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/a10aed01a455bf1f45bb25dc1bb887fd171cffee\"\u003e\u003ccode\u003ea10aed0\u003c/code\u003e\u003c/a\u003e Bump actions/setup-java from 4 to 5 (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3715\"\u003e#3715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/37bb3e5062bbedda96dc3810c5e3d4f5c0c644e0\"\u003e\u003ccode\u003e37bb3e5\u003c/code\u003e\u003c/a\u003e Fix metadata generation on GraalVM (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3710\"\u003e#3710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mockito/mockito/commit/ef2fd6f8e12df2db9b1c3aef067c33f6fe2aba95\"\u003e\u003ccode\u003eef2fd6f\u003c/code\u003e\u003c/a\u003e Bump com.gradle.develocity from 4.1 to 4.1.1 (\u003ca href=\"https://redirect.github.com/mockito/mockito/issues/3713\"\u003e#3713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mockito/mockito/compare/v5.19.0...v5.20.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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/gocd-contrib/github-oauth-authorization-plugin/pull/375","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gocd-contrib%2Fgithub-oauth-authorization-plugin/issues/375","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/375/packages"}},{"old_version":"1.323","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2025-09-19T08:01:53.000Z","version_change":"1.323 → 1.330","issue":{"uuid":"2842923286","node_id":"PR_kwDOAK7Vm86pc5EW","number":5311,"state":"closed","title":"build(deps): bump org.kohsuke:github-api from 1.323 to 1.330","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-09-22T07:58:34.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-19T08:01:53.000Z","updated_at":"2025-09-22T07:58:34.000Z","time_to_close":259001,"merged_at":"2025-09-22T07:58:33.000Z","merged_by":"nscuro","closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"org.kohsuke:github-api","old_version":"1.323","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"}],"path":null,"ecosystem":"maven"},"body":"Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.323 to 1.330.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.326 🌈\u003c/h2\u003e\n\u003ch2\u003eDescription\u003c/h2\u003e\n\u003cp\u003eBackporting updates from 2.0.0-alpha-2 and stabilizing 1.x builds.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1932\"\u003ehub4j/github-api#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBegin 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1935\"\u003ehub4j/github-api#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-2.0.0-alpha-1 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1936\"\u003ehub4j/github-api#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable API stability for 2.x release train by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1937\"\u003ehub4j/github-api#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.bcel:bcel from 6.9.0 to 6.10.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1934\"\u003ehub4j/github-api#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.5.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1933\"\u003ehub4j/github-api#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRe-enable site for v2.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1939\"\u003ehub4j/github-api#1939\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1940\"\u003ehub4j/github-api#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1943\"\u003ehub4j/github-api#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump com.github.spotbugs:spotbugs-maven-plugin from 4.8.6.1 to 4.8.6.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1942\"\u003ehub4j/github-api#1942\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest getEmails by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1945\"\u003ehub4j/github-api#1945\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate japicmp to 0.23.0 by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1946\"\u003ehub4j/github-api#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport 2.0-alpha-2 changes 1.x by \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/1944\"\u003ehub4j/github-api#1944\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.325...github-api-1.326\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.325 🌈\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePrepare release (bitwiseman): github-api-1.325 \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1932\"\u003e#1932\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.awaitility:awaitility from 4.2.1 to 4.2.2 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1928\"\u003e#1928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps): Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.6.2 to 3.7.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1927\"\u003e#1927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate commons-io to 2.16.1 \u003ca href=\"https://github.com/bitwiseman\"\u003e\u003ccode\u003e@​bitwiseman\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1925\"\u003e#1925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore(deps-dev): Bump org.mockito:mockito-core from 4.11.0 to 5.13.0 \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/1922\"\u003e#1922\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.323...github-api-1.330\"\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=org.kohsuke:github-api\u0026package-manager=maven\u0026previous-version=1.323\u0026new-version=1.330)](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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/DependencyTrack/dependency-track/pull/5311","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/DependencyTrack%2Fdependency-track/issues/5311","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5311/packages"}},{"old_version":"1.327","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2025-09-11T14:22:05.000Z","version_change":"1.327 → 1.330","issue":{"uuid":"3406800064","node_id":"PR_kwDOLkCPtM6oDPFh","number":60,"state":"open","title":"build(deps): bump the maven-dependencies group across 1 directory with 44 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-09-11T14:22:05.000Z","updated_at":"2025-09-16T14:24:37.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"maven-dependencies","update_count":44,"packages":[{"name":"org.jetbrains.kotlin.android","old_version":"2.1.20","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.compose","old_version":"2.1.20","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"plugin.serialization","old_version":"2.1.20","new_version":"2.2.20","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.mikepenz:aboutlibraries-core","old_version":"12.0.1","new_version":"12.2.4","repository_url":"https://github.com/mikepenz/AboutLibraries"},{"name":"com.mikepenz.aboutlibraries.plugin","old_version":"12.0.1","new_version":"12.2.4"},{"name":"androidx.activity:activity-compose","old_version":"1.10.1","new_version":"1.11.0"},{"name":"androidx.activity:activity-ktx","old_version":"1.10.1","new_version":"1.11.0"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"androidx.biometric:biometric","old_version":"1.4.0-alpha03","new_version":"1.4.0-alpha04"},{"name":"androidx.browser:browser","old_version":"1.8.0","new_version":"1.9.0"},{"name":"androidx.compose:compose-bom","old_version":"2025.04.01","new_version":"2025.09.00"},{"name":"androidx.core:core-ktx","old_version":"1.16.0","new_version":"1.17.0"},{"name":"androidx.datastore:datastore-preferences","old_version":"1.1.4","new_version":"1.1.7"},{"name":"androidx.test.espresso:espresso-core","old_version":"3.6.1","new_version":"3.7.0"},{"name":"androidx.fragment:fragment-ktx","old_version":"1.8.6","new_version":"1.8.9"},{"name":"androidx.test.ext:junit","old_version":"1.2.1","new_version":"1.3.0"},{"name":"androidx.lifecycle:lifecycle-livedata-ktx","old_version":"2.8.7","new_version":"2.9.3"},{"name":"androidx.lifecycle:lifecycle-runtime-ktx","old_version":"2.8.7","new_version":"2.9.3"},{"name":"androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.7","new_version":"2.9.3"},{"name":"androidx.lifecycle:lifecycle-viewmodel-ktx","old_version":"2.8.7","new_version":"2.9.3"},{"name":"androidx.compose.material3:material3","old_version":"1.4.0-alpha13","new_version":"1.5.0-alpha04"},{"name":"androidx.compose.material3:material3-window-size-class","old_version":"1.4.0-alpha13","new_version":"1.5.0-alpha04"},{"name":"androidx.compose.runtime:runtime-livedata","old_version":"1.8.0","new_version":"1.9.1"},{"name":"androidx.compose.ui:ui","old_version":"1.8.0","new_version":"1.9.1"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.8.0","new_version":"1.9.1"},{"name":"androidx.compose.ui:ui-tooling-preview","old_version":"1.8.0","new_version":"1.9.1"},{"name":"androidx.compose.ui:ui-graphics","old_version":"1.8.0","new_version":"1.9.1"},{"name":"io.coil-kt.coil3:coil","old_version":"3.1.0","new_version":"3.3.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-network-okhttp","old_version":"3.1.0","new_version":"3.3.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"org.apache.commons:commons-compress","old_version":"1.27.1","new_version":"1.28.0","repository_url":"https://github.com/apache/commons-compress"},{"name":"commons-io:commons-io","old_version":"2.19.0","new_version":"2.20.0","repository_url":"https://github.com/apache/commons-io"},{"name":"com.google.firebase:firebase-bom","old_version":"33.13.0","new_version":"34.2.0"},{"name":"org.kohsuke:github-api","old_version":"1.327","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"},{"name":"com.google.gms:google-services","old_version":"4.4.2","new_version":"4.4.3"},{"name":"com.google.code.gson:gson","old_version":"2.13.1","new_version":"2.13.2","repository_url":"https://github.com/google/gson"},{"name":"org.jsoup:jsoup","old_version":"1.19.1","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.tencent.kona:kona-crypto","old_version":"1.0.17","new_version":"1.0.18","repository_url":"https://github.com/Tencent/TencentKonaSMSuite"},{"name":"com.tencent.kona:kona-provider","old_version":"1.0.17","new_version":"1.0.18","repository_url":"https://github.com/Tencent/TencentKonaSMSuite"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-json","old_version":"1.8.1","new_version":"1.9.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"com.google.android.material:material","old_version":"1.13.0-alpha12","new_version":"1.14.0-alpha04","repository_url":"https://github.com/material-components/material-components-android"},{"name":"org.apache.maven:maven-artifact","old_version":"3.9.9","new_version":"3.9.11"},{"name":"com.squareup.okhttp3:okhttp","old_version":"4.12.0","new_version":"5.1.0","repository_url":"https://github.com/square/okhttp"},{"name":"androidx.activity:activity","old_version":"1.10.1","new_version":"1.11.0"},{"name":"com.android.application","old_version":"8.9.2","new_version":"8.13.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the maven-dependencies group with 44 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.2.20` |\n| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.2.20` |\n| [plugin.serialization](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.2.20` |\n| [com.mikepenz:aboutlibraries-core](https://github.com/mikepenz/AboutLibraries) | `12.0.1` | `12.2.4` |\n| com.mikepenz.aboutlibraries.plugin | `12.0.1` | `12.2.4` |\n| androidx.activity:activity-compose | `1.10.1` | `1.11.0` |\n| androidx.activity:activity-ktx | `1.10.1` | `1.11.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| androidx.biometric:biometric | `1.4.0-alpha03` | `1.4.0-alpha04` |\n| androidx.browser:browser | `1.8.0` | `1.9.0` |\n| androidx.compose:compose-bom | `2025.04.01` | `2025.09.00` |\n| androidx.core:core-ktx | `1.16.0` | `1.17.0` |\n| androidx.datastore:datastore-preferences | `1.1.4` | `1.1.7` |\n| androidx.test.espresso:espresso-core | `3.6.1` | `3.7.0` |\n| androidx.fragment:fragment-ktx | `1.8.6` | `1.8.9` |\n| androidx.test.ext:junit | `1.2.1` | `1.3.0` |\n| androidx.lifecycle:lifecycle-livedata-ktx | `2.8.7` | `2.9.3` |\n| androidx.lifecycle:lifecycle-runtime-ktx | `2.8.7` | `2.9.3` |\n| androidx.lifecycle:lifecycle-viewmodel-compose | `2.8.7` | `2.9.3` |\n| androidx.lifecycle:lifecycle-viewmodel-ktx | `2.8.7` | `2.9.3` |\n| androidx.compose.material3:material3 | `1.4.0-alpha13` | `1.5.0-alpha04` |\n| androidx.compose.material3:material3-window-size-class | `1.4.0-alpha13` | `1.5.0-alpha04` |\n| androidx.compose.runtime:runtime-livedata | `1.8.0` | `1.9.1` |\n| androidx.compose.ui:ui | `1.8.0` | `1.9.1` |\n| androidx.compose.ui:ui-tooling | `1.8.0` | `1.9.1` |\n| androidx.compose.ui:ui-tooling-preview | `1.8.0` | `1.9.1` |\n| androidx.compose.ui:ui-graphics | `1.8.0` | `1.9.1` |\n| [io.coil-kt.coil3:coil](https://github.com/coil-kt/coil) | `3.1.0` | `3.3.0` |\n| [io.coil-kt.coil3:coil-network-okhttp](https://github.com/coil-kt/coil) | `3.1.0` | `3.3.0` |\n| [org.apache.commons:commons-compress](https://github.com/apache/commons-compress) | `1.27.1` | `1.28.0` |\n| [commons-io:commons-io](https://github.com/apache/commons-io) | `2.19.0` | `2.20.0` |\n| com.google.firebase:firebase-bom | `33.13.0` | `34.2.0` |\n| [org.kohsuke:github-api](https://github.com/hub4j/github-api) | `1.327` | `1.330` |\n| com.google.gms:google-services | `4.4.2` | `4.4.3` |\n| [com.google.code.gson:gson](https://github.com/google/gson) | `2.13.1` | `2.13.2` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.19.1` | `1.21.2` |\n| [com.tencent.kona:kona-crypto](https://github.com/Tencent/TencentKonaSMSuite) | `1.0.17` | `1.0.18` |\n| [com.tencent.kona:kona-provider](https://github.com/Tencent/TencentKonaSMSuite) | `1.0.17` | `1.0.18` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.8.1` | `1.9.0` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.13.0-alpha12` | `1.14.0-alpha04` |\n| org.apache.maven:maven-artifact | `3.9.9` | `3.9.11` |\n| [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp) | `4.12.0` | `5.1.0` |\n| androidx.activity:activity | `1.10.1` | `1.11.0` |\n| com.android.application | `8.9.2` | `8.13.0` |\n\n\nUpdates `org.jetbrains.kotlin.android` from 2.1.20 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.android's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.android's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.compose` from 2.1.20 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.compose's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plugin.serialization` from 2.1.20 to 2.2.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eplugin.serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.2.20\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eplugin.serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.20\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78187\"\u003e\u003ccode\u003eKT-78187\u003c/code\u003e\u003c/a\u003e Synthetic properties not to be shown as callables\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72525\"\u003e\u003ccode\u003eKT-72525\u003c/code\u003e\u003c/a\u003e K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-74246\"\u003e\u003ccode\u003eKT-74246\u003c/code\u003e\u003c/a\u003e KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78382\"\u003e\u003ccode\u003eKT-78382\u003c/code\u003e\u003c/a\u003e K2 IR lowering error when interface extends interface\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78164\"\u003e\u003ccode\u003eKT-78164\u003c/code\u003e\u003c/a\u003e Evaluator: '\u003ccode\u003e@JvmName\u003c/code\u003e' annotations are not recognized in other modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76457\"\u003e\u003ccode\u003eKT-76457\u003c/code\u003e\u003c/a\u003e K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73084\"\u003e\u003ccode\u003eKT-73084\u003c/code\u003e\u003c/a\u003e K2 evaluator cannot resolve local variables standing at the closing brace\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003ch4\u003ePerformance Improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76490\"\u003e\u003ccode\u003eKT-76490\u003c/code\u003e\u003c/a\u003e Do not load ast during the contracts phase if no contracts present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78132\"\u003e\u003ccode\u003eKT-78132\u003c/code\u003e\u003c/a\u003e Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72227\"\u003e\u003ccode\u003eKT-72227\u003c/code\u003e\u003c/a\u003e SOE from recursive value class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68977\"\u003e\u003ccode\u003eKT-68977\u003c/code\u003e\u003c/a\u003e K2 IDE: Reference to companion object through typealias in a function call does not work\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72357\"\u003e\u003ccode\u003eKT-72357\u003c/code\u003e\u003c/a\u003e Implement partial body resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76932\"\u003e\u003ccode\u003eKT-76932\u003c/code\u003e\u003c/a\u003e Support context parameters on dangling modifier list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72407\"\u003e\u003ccode\u003eKT-72407\u003c/code\u003e\u003c/a\u003e FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77602\"\u003e\u003ccode\u003eKT-77602\u003c/code\u003e\u003c/a\u003e K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-77629\"\u003e\u003ccode\u003eKT-77629\u003c/code\u003e\u003c/a\u003e K2: NPE: \u0026quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76855\"\u003e\u003ccode\u003eKT-76855\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eKaType.asPsiType\u003c/code\u003e returns \u003ccode\u003enull\u003c/code\u003e for a local inner class in dependent analysis tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72718\"\u003e\u003ccode\u003eKT-72718\u003c/code\u003e\u003c/a\u003e ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76811\"\u003e\u003ccode\u003eKT-76811\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eresolveToFirSymbol\u003c/code\u003e finds a \u003ccode\u003eFirPropertySymbol\u003c/code\u003e for a \u003ccode\u003eKtScript\u003c/code\u003e in dependent analysis\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73586\"\u003e\u003ccode\u003eKT-73586\u003c/code\u003e\u003c/a\u003e [Analysis API] Add \u003ccode\u003elazyResolveToPhase(STATUS)\u003c/code\u003e before accessing modifiers of members\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75534\"\u003e\u003ccode\u003eKT-75534\u003c/code\u003e\u003c/a\u003e K2 AA: \u0026quot;Containing declaration should present for nested declaration class KtNamedFunction\u0026quot; with dangling annotation on top-level anonymous function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75687\"\u003e\u003ccode\u003eKT-75687\u003c/code\u003e\u003c/a\u003e K2: local variable doesn't get to the do-while scope\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-56543\"\u003e\u003ccode\u003eKT-56543\u003c/code\u003e\u003c/a\u003e LL FIR: rework lazy transformers so transformers modify only declarations they suppose to\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76809\"\u003e\u003ccode\u003eKT-76809\u003c/code\u003e\u003c/a\u003e Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78835\"\u003e\u003ccode\u003eKT-78835\u003c/code\u003e\u003c/a\u003e Find usages of a light constructor from a class with an empty body finds usages of class as well\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78878\"\u003e\u003ccode\u003eKT-78878\u003c/code\u003e\u003c/a\u003e K2. Method shown as unavailable in Java when \u003ccode\u003e@JvmExposeBoxed\u003c/code\u003e is applied (redundantly) at both class and method level in Kotlin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78065\"\u003e\u003ccode\u003eKT-78065\u003c/code\u003e\u003c/a\u003e Support \u0026quot;Expose boxed inline value classes\u0026quot; in Light Classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975\"\u003e\u003ccode\u003e693c44e\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b\"\u003e\u003ccode\u003e5b7c7af\u003c/code\u003e\u003c/a\u003e [Gradle] Fail the build if AGP has already configured Kotlin in the project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082\"\u003e\u003ccode\u003e1756c32\u003c/code\u003e\u003c/a\u003e Add permissions for GRADLE_RO_DEP_CACHE to security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84\"\u003e\u003ccode\u003e05dcf52\u003c/code\u003e\u003c/a\u003e [Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b\"\u003e\u003ccode\u003e0b2dd95\u003c/code\u003e\u003c/a\u003e [Wasm] Do not backport devServer, because it is mutable collection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596\"\u003e\u003ccode\u003e6b0a1e4\u003c/code\u003e\u003c/a\u003e [IR] Use sanitized names when calculating scopes for lambdas\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694\"\u003e\u003ccode\u003e64daa7e\u003c/code\u003e\u003c/a\u003e [FIR2IR] Properly handle generics with nullable types in delegate body genera...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32\"\u003e\u003ccode\u003e9237f28\u003c/code\u003e\u003c/a\u003e [Test] Reproduce KT-79816\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a\"\u003e\u003ccode\u003ee86b28e\u003c/code\u003e\u003c/a\u003e [Gradle] Add \u003ca href=\"https://github.com/ExperimentalKotlinGradlePluginApi\"\u003e\u003ccode\u003e@​ExperimentalKotlinGradlePluginApi\u003c/code\u003e\u003c/a\u003e to exportKdoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4\"\u003e\u003ccode\u003e0f5c8a7\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.2.20-RC\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.2.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.mikepenz:aboutlibraries-core` from 12.0.1 to 12.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mikepenz/AboutLibraries/releases\"\u003ecom.mikepenz:aboutlibraries-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.2.4\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the name nullability to organization. The name is absent in some …\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1205\"\u003e#1205\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/volic\"\u003e\u003ccode\u003e@​volic\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e12.2.3\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003efindLibraries\u003c/code\u003e task\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1199\"\u003e#1199\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e12.2.2\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRevert changes causing issues with Android builds\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1193\"\u003e#1193\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e12.2.1\u003c/h2\u003e\n\u003ch2\u003e🐛 Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix android task configuration\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1187\"\u003e#1187\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e💬 Other\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRefactor plugin to optimize configuration cache\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1185\"\u003e#1185\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributors:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz\"\u003e\u003ccode\u003e@​mikepenz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e12.2.0\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake compose ui modules more flexible | Refine visualization | Compose update\n\u003cul\u003e\n\u003cli\u003ePR: \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1172\"\u003e#1172\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/6af7405fb9963a59bd88c465d03011da16bb8cbc\"\u003e\u003ccode\u003e6af7405\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1207\"\u003e#1207\u003c/a\u003e from mikepenz/develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/fb6ca94c0cbc008557913d7a4aedb82942a40bc0\"\u003e\u003ccode\u003efb6ca94\u003c/code\u003e\u003c/a\u003e - [release] v12.2.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/d7ded4de3fa047248ab4241b3e409d52455290ea\"\u003e\u003ccode\u003ed7ded4d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1205\"\u003e#1205\u003c/a\u003e from volic/feature/fix_organization_name_nulability\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/446c016228013e859a1e1167a70464a855456dd1\"\u003e\u003ccode\u003e446c016\u003c/code\u003e\u003c/a\u003e - handle empty org name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/6d9cff7598ac5fce3ac74bff43c2c79bec1047fd\"\u003e\u003ccode\u003e6d9cff7\u003c/code\u003e\u003c/a\u003e - keep the name non null to not break integrations in apps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/c0f5ceafa1942f0625f28f39948ce409122e30ec\"\u003e\u003ccode\u003ec0f5cea\u003c/code\u003e\u003c/a\u003e Add the name nullability to organization. The name is absent in some librarie...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/a95930c10c48140ab352ff3f63225ff6fea97db1\"\u003e\u003ccode\u003ea95930c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1200\"\u003e#1200\u003c/a\u003e from mikepenz/develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/a3d0097a3afbc4455c4b3939938a98e0fec86ff4\"\u003e\u003ccode\u003ea3d0097\u003c/code\u003e\u003c/a\u003e - [release] v12.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/2901d4af1caa1c1da6949fa47a284dd2b17f8a1a\"\u003e\u003ccode\u003e2901d4a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/mikepenz/AboutLibraries/issues/1199\"\u003e#1199\u003c/a\u003e from mikepenz/fix/1197\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikepenz/AboutLibraries/commit/9a62ca57acd2e7ba64bd38c3cfc42fb6c696a131\"\u003e\u003ccode\u003e9a62ca5\u003c/code\u003e\u003c/a\u003e - fix failure due to offline mode being set for tasks\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mikepenz/AboutLibraries/compare/12.0.1...12.2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.mikepenz.aboutlibraries.plugin` from 12.0.1 to 12.2.4\n\nUpdates `androidx.activity:activity-compose` from 1.10.1 to 1.11.0\n\nUpdates `androidx.activity:activity-ktx` from 1.10.1 to 1.11.0\n\nUpdates `androidx.activity:activity-ktx` from 1.10.1 to 1.11.0\n\nUpdates `androidx.appcompat:appcompat` from 1.7.0 to 1.7.1\n\nUpdates `androidx.biometric:biometric` from 1.4.0-alpha03 to 1.4.0-alpha04\n\nUpdates `androidx.browser:browser` from 1.8.0 to 1.9.0\n\nUpdates `androidx.compose:compose-bom` from 2025.04.01 to 2025.09.00\n\nUpdates `androidx.core:core-ktx` from 1.16.0 to 1.17.0\n\nUpdates `androidx.datastore:datastore-preferences` from 1.1.4 to 1.1.7\n\nUpdates `androidx.test.espresso:espresso-core` from 3.6.1 to 3.7.0\n\nUpdates `androidx.fragment:fragment-ktx` from 1.8.6 to 1.8.9\n\nUpdates `androidx.test.ext:junit` from 1.2.1 to 1.3.0\n\nUpdates `androidx.lifecycle:lifecycle-livedata-ktx` from 2.8.7 to 2.9.3\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.7 to 2.9.3\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.8.7 to 2.9.3\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.8.7 to 2.9.3\n\nUpdates `androidx.lifecycle:lifecycle-runtime-ktx` from 2.8.7 to 2.9.3\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-compose` from 2.8.7 to 2.9.3\n\nUpdates `androidx.lifecycle:lifecycle-viewmodel-ktx` from 2.8.7 to 2.9.3\n\nUpdates `androidx.compose.material3:material3` from 1.4.0-alpha13 to 1.5.0-alpha04\n\nUpdates `androidx.compose.material3:material3-window-size-class` from 1.4.0-alpha13 to 1.5.0-alpha04\n\nUpdates `androidx.compose.material3:material3-window-size-class` from 1.4.0-alpha13 to 1.5.0-alpha04\n\nUpdates `androidx.compose.runtime:runtime-livedata` from 1.8.0 to 1.9.1\n\nUpdates `androidx.compose.ui:ui` from 1.8.0 to 1.9.1\n\nUpdates `androidx.compose.ui:ui-tooling` from 1.8.0 to 1.9.1\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.8.0 to 1.9.1\n\nUpdates `androidx.compose.ui:ui-graphics` from 1.8.0 to 1.9.1\n\nUpdates `androidx.compose.ui:ui-tooling` from 1.8.0 to 1.9.1\n\nUpdates `androidx.compose.ui:ui-tooling-preview` from 1.8.0 to 1.9.1\n\nUpdates `io.coil-kt.coil3:coil` from 3.1.0 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coil-kt/coil/releases\"\u003eio.coil-kt.coil3:coil's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#330---july-22-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320---may-13-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0-rc02\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320-rc02---april-26-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0-rc01\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320-rc01---april-24-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md\"\u003eio.coil-kt.coil3:coil's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.3.0] - July 22, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eNew\u003c/strong\u003e: Introduce a new API to limit \u003ccode\u003eMemoryCache.maxSize\u003c/code\u003e on Android while the app is backgrounded.\n\u003cul\u003e\n\u003cli\u003eIf \u003ccode\u003eImageLoader.Builder.memoryCacheMaxSizePercentWhileInBackground\u003c/code\u003e is set, the \u003ccode\u003eImageLoader\u003c/code\u003e's memory cache will be limited to a percent of its max size while the app is backgrounded. This setting is currently disabled by default.\u003c/li\u003e\n\u003cli\u003eImages will be trimmed from the memory cache to reach the limited max size when the app is backgrounded, however the memory cache's weak references to recently trimmed images are unaffected. This means if an image is currently referenced elsewhere (e.g. \u003ccode\u003eAsyncImage\u003c/code\u003e, \u003ccode\u003eImageView\u003c/code\u003e, etc.) it will still be present in the memory cache.\u003c/li\u003e\n\u003cli\u003eThis API is useful to reduce background memory usage, keep your app from being killed earlier, and help reduce memory pressure on your users' devices.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew\u003c/strong\u003e: Add an \u003ccode\u003eSvg.Parser\u003c/code\u003e argument to \u003ccode\u003eSvgDecoder\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis enables using custom SVG parsers if the default SVG parser doesn't meet your needs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003edensity\u003c/code\u003e argument to \u003ccode\u003eSvgDecoder\u003c/code\u003e to support providing a custom density multiplier.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eUri.Builder\u003c/code\u003e to support copying and modifying \u003ccode\u003eUri\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eImageLoader.Builder.mainCoroutineContext\u003c/code\u003e to support overriding Coil's \u003ccode\u003eDispatchers.main.immediate\u003c/code\u003e usage in tests.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eCrossfadePainter.intrinsicSize\u003c/code\u003e changing when the \u003ccode\u003estart\u003c/code\u003e image is dereferenced at the end of the animation. This aligns with the behaviour of \u003ccode\u003eCrossfadeDrawable\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eImageLoaders.executeBlocking\u003c/code\u003e being inaccessible from Java.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ekotlinx.io\u003c/code\u003e's Okio interop module in \u003ccode\u003ecoil-network-ktor3\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ekotlinx-datetime\u003c/code\u003e to \u003ccode\u003e0.7.1\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis release includes binary incompatible changes that only affect the \u003ccode\u003ecoil-network-cache-control\u003c/code\u003e module. See \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant\"\u003ehere\u003c/a\u003e for more info.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpdate Kotlin to 2.2.0.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.2.\u003c/li\u003e\n\u003cli\u003eUpdate Okio to 3.15.0.\u003c/li\u003e\n\u003cli\u003eUpdate Skiko to 0.9.4.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.0] - May 13, 2025\u003c/h2\u003e\n\u003cp\u003eChanges since \u003ccode\u003e3.1.0\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eImportant\u003c/strong\u003e: \u003ccode\u003ecoil-compose\u003c/code\u003e and \u003ccode\u003ecoil-compose-core\u003c/code\u003e now require Java 11 bytecode due to Compose \u003ccode\u003e1.8.0\u003c/code\u003e requiring it. See \u003ca href=\"https://coil-kt.github.io/coil/faq/#how-do-i-target-java-8-or-java-11\"\u003ehere\u003c/a\u003e for how to enable it.\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003eAsyncImagePreviewHandler\u003c/code\u003e's functional constructor to return \u003ccode\u003eAsyncImagePainter.State.Success\u003c/code\u003e instead of \u003ccode\u003eAsyncImagePainter.State.Loading\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix cancellation in \u003ccode\u003eConstraintsSizeResolver#size()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix warning for missing \u003ccode\u003ePlatformContext\u003c/code\u003e when building with R8.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eFakeImageLoaderEngine\u003c/code\u003e not setting \u003ccode\u003eTransition.Factory.NONE\u003c/code\u003e when the default \u003ccode\u003eFakeImageLoaderEngine\u003c/code\u003e response is returned.\u003c/li\u003e\n\u003cli\u003eRemove experimental annotation from \u003ccode\u003eColorImage\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eParse network headers lazily in \u003ccode\u003eCacheControlCacheStrategy\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003eCircleCropTransformation\u003c/code\u003e and \u003ccode\u003eRoundedCornersTransformation\u003c/code\u003e to share common code.\u003c/li\u003e\n\u003cli\u003eFall back to using \u003ccode\u003eBitmapFactory\u003c/code\u003e internally if \u003ccode\u003eExifOrientationStrategy\u003c/code\u003e is not \u003ccode\u003eRESPECT_PERFORMANCE\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate Kotlin to 2.1.20.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.0.\u003c/li\u003e\n\u003cli\u003eUpdate Okio to 3.11.0.\u003c/li\u003e\n\u003cli\u003eUpdate Skiko to 0.9.4.\u003c/li\u003e\n\u003cli\u003eUpdate Coroutines to 1.10.2.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eaccompanist-drawablepainter\u003c/code\u003e to 0.37.3.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges since \u003ccode\u003e3.2.0-rc02\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFall back to using \u003ccode\u003eBitmapFactory\u003c/code\u003e internally if \u003ccode\u003eExifOrientationStrategy\u003c/code\u003e is not \u003ccode\u003eRESPECT_PERFORMANCE\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.0.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eaccompanist-drawablepainter\u003c/code\u003e to 0.37.3.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.0-rc02] - April 26, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix image requests failing with \u003ccode\u003eClosedByteChannelException\u003c/code\u003e when loading an image with \u003ccode\u003eKtorNetworkFetcherFactory\u003c/code\u003e (Ktor 3) on non-JVM targets.\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/coil-kt/coil/commit/1731511f0c12ef556db7822a91b6ea03fa3f95a1\"\u003e\u003ccode\u003e1731511\u003c/code\u003e\u003c/a\u003e Prepare 3.3.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/c68534cb1f648ef896846f19935de132668ccef8\"\u003e\u003ccode\u003ec68534c\u003c/code\u003e\u003c/a\u003e Fix accidental binary incompatible change in SvgDecoder. (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3089\"\u003e#3089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/732f7a7861f7c948a6ebb60e640b8b4fff5e83c4\"\u003e\u003ccode\u003e732f7a7\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spotless to v7.2.1 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3088\"\u003e#3088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/fbf78975a09ad215e6f1359f376dc0c0a3e06fbd\"\u003e\u003ccode\u003efbf7897\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin poko to v0.19.2 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3087\"\u003e#3087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/ce87117ede532a5e741bbc8f4ae27c44564f5d43\"\u003e\u003ccode\u003ece87117\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spotless to v7.2.0 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3085\"\u003e#3085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/b9b02327d5ce34ce910b08c4a71dfdbbecdca6a4\"\u003e\u003ccode\u003eb9b0232\u003c/code\u003e\u003c/a\u003e Add density function to SvgDecoder. (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3081\"\u003e#3081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/a70985934532f3b16cb086b6d23c70d2a2b24bd8\"\u003e\u003ccode\u003ea709859\u003c/code\u003e\u003c/a\u003e Add a new language (persian) to the translations of README.md (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3082\"\u003e#3082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/b80e2ddf068ad2f4f2b704fc8e7a2e11192a3dbd\"\u003e\u003ccode\u003eb80e2dd\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spotless to v7.1.0 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3079\"\u003e#3079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/0f6965ffeab059ac8d10c615f9af91635218e601\"\u003e\u003ccode\u003e0f6965f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency com.vanniktech:gradle-maven-publish-plugin to v0...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/e507a3f85b6871dbe0e286881ff2cb776b446c6b\"\u003e\u003ccode\u003ee507a3f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency com.android.tools.build:gradle to v8.11.1 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3078\"\u003e#3078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/coil-kt/coil/compare/3.1.0...3.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.coil-kt.coil3:coil-network-okhttp` from 3.1.0 to 3.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coil-kt/coil/releases\"\u003eio.coil-kt.coil3:coil-network-okhttp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.3.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#330---july-22-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320---may-13-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0-rc02\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320-rc02---april-26-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e3.2.0-rc01\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md#320-rc01---april-24-2025\"\u003eCHANGELOG.md\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/coil-kt/coil/blob/main/CHANGELOG.md\"\u003eio.coil-kt.coil3:coil-network-okhttp's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.3.0] - July 22, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eNew\u003c/strong\u003e: Introduce a new API to limit \u003ccode\u003eMemoryCache.maxSize\u003c/code\u003e on Android while the app is backgrounded.\n\u003cul\u003e\n\u003cli\u003eIf \u003ccode\u003eImageLoader.Builder.memoryCacheMaxSizePercentWhileInBackground\u003c/code\u003e is set, the \u003ccode\u003eImageLoader\u003c/code\u003e's memory cache will be limited to a percent of its max size while the app is backgrounded. This setting is currently disabled by default.\u003c/li\u003e\n\u003cli\u003eImages will be trimmed from the memory cache to reach the limited max size when the app is backgrounded, however the memory cache's weak references to recently trimmed images are unaffected. This means if an image is currently referenced elsewhere (e.g. \u003ccode\u003eAsyncImage\u003c/code\u003e, \u003ccode\u003eImageView\u003c/code\u003e, etc.) it will still be present in the memory cache.\u003c/li\u003e\n\u003cli\u003eThis API is useful to reduce background memory usage, keep your app from being killed earlier, and help reduce memory pressure on your users' devices.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew\u003c/strong\u003e: Add an \u003ccode\u003eSvg.Parser\u003c/code\u003e argument to \u003ccode\u003eSvgDecoder\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis enables using custom SVG parsers if the default SVG parser doesn't meet your needs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd a \u003ccode\u003edensity\u003c/code\u003e argument to \u003ccode\u003eSvgDecoder\u003c/code\u003e to support providing a custom density multiplier.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eUri.Builder\u003c/code\u003e to support copying and modifying \u003ccode\u003eUri\u003c/code\u003es.\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eImageLoader.Builder.mainCoroutineContext\u003c/code\u003e to support overriding Coil's \u003ccode\u003eDispatchers.main.immediate\u003c/code\u003e usage in tests.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eCrossfadePainter.intrinsicSize\u003c/code\u003e changing when the \u003ccode\u003estart\u003c/code\u003e image is dereferenced at the end of the animation. This aligns with the behaviour of \u003ccode\u003eCrossfadeDrawable\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eImageLoaders.executeBlocking\u003c/code\u003e being inaccessible from Java.\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003ekotlinx.io\u003c/code\u003e's Okio interop module in \u003ccode\u003ecoil-network-ktor3\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003ekotlinx-datetime\u003c/code\u003e to \u003ccode\u003e0.7.1\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003eThis release includes binary incompatible changes that only affect the \u003ccode\u003ecoil-network-cache-control\u003c/code\u003e module. See \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant\"\u003ehere\u003c/a\u003e for more info.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eUpdate Kotlin to 2.2.0.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.2.\u003c/li\u003e\n\u003cli\u003eUpdate Okio to 3.15.0.\u003c/li\u003e\n\u003cli\u003eUpdate Skiko to 0.9.4.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.0] - May 13, 2025\u003c/h2\u003e\n\u003cp\u003eChanges since \u003ccode\u003e3.1.0\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eImportant\u003c/strong\u003e: \u003ccode\u003ecoil-compose\u003c/code\u003e and \u003ccode\u003ecoil-compose-core\u003c/code\u003e now require Java 11 bytecode due to Compose \u003ccode\u003e1.8.0\u003c/code\u003e requiring it. See \u003ca href=\"https://coil-kt.github.io/coil/faq/#how-do-i-target-java-8-or-java-11\"\u003ehere\u003c/a\u003e for how to enable it.\u003c/li\u003e\n\u003cli\u003eChange \u003ccode\u003eAsyncImagePreviewHandler\u003c/code\u003e's functional constructor to return \u003ccode\u003eAsyncImagePainter.State.Success\u003c/code\u003e instead of \u003ccode\u003eAsyncImagePainter.State.Loading\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix cancellation in \u003ccode\u003eConstraintsSizeResolver#size()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFix warning for missing \u003ccode\u003ePlatformContext\u003c/code\u003e when building with R8.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eFakeImageLoaderEngine\u003c/code\u003e not setting \u003ccode\u003eTransition.Factory.NONE\u003c/code\u003e when the default \u003ccode\u003eFakeImageLoaderEngine\u003c/code\u003e response is returned.\u003c/li\u003e\n\u003cli\u003eRemove experimental annotation from \u003ccode\u003eColorImage\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eParse network headers lazily in \u003ccode\u003eCacheControlCacheStrategy\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRefactor \u003ccode\u003eCircleCropTransformation\u003c/code\u003e and \u003ccode\u003eRoundedCornersTransformation\u003c/code\u003e to share common code.\u003c/li\u003e\n\u003cli\u003eFall back to using \u003ccode\u003eBitmapFactory\u003c/code\u003e internally if \u003ccode\u003eExifOrientationStrategy\u003c/code\u003e is not \u003ccode\u003eRESPECT_PERFORMANCE\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate Kotlin to 2.1.20.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.0.\u003c/li\u003e\n\u003cli\u003eUpdate Okio to 3.11.0.\u003c/li\u003e\n\u003cli\u003eUpdate Skiko to 0.9.4.\u003c/li\u003e\n\u003cli\u003eUpdate Coroutines to 1.10.2.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eaccompanist-drawablepainter\u003c/code\u003e to 0.37.3.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eChanges since \u003ccode\u003e3.2.0-rc02\u003c/code\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFall back to using \u003ccode\u003eBitmapFactory\u003c/code\u003e internally if \u003ccode\u003eExifOrientationStrategy\u003c/code\u003e is not \u003ccode\u003eRESPECT_PERFORMANCE\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdate Compose to 1.8.0.\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eaccompanist-drawablepainter\u003c/code\u003e to 0.37.3.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.2.0-rc02] - April 26, 2025\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix image requests failing with \u003ccode\u003eClosedByteChannelException\u003c/code\u003e when loading an image with \u003ccode\u003eKtorNetworkFetcherFactory\u003c/code\u003e (Ktor 3) on non-JVM targets.\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/coil-kt/coil/commit/1731511f0c12ef556db7822a91b6ea03fa3f95a1\"\u003e\u003ccode\u003e1731511\u003c/code\u003e\u003c/a\u003e Prepare 3.3.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/c68534cb1f648ef896846f19935de132668ccef8\"\u003e\u003ccode\u003ec68534c\u003c/code\u003e\u003c/a\u003e Fix accidental binary incompatible change in SvgDecoder. (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3089\"\u003e#3089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/732f7a7861f7c948a6ebb60e640b8b4fff5e83c4\"\u003e\u003ccode\u003e732f7a7\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spotless to v7.2.1 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3088\"\u003e#3088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/fbf78975a09ad215e6f1359f376dc0c0a3e06fbd\"\u003e\u003ccode\u003efbf7897\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin poko to v0.19.2 (\u003ca href=\"https://redirect.github.com/coil-kt/coil/issues/3087\"\u003e#3087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/coil-kt/coil/commit/ce87117ede532a5e741bbc8f4ae27c44564f5d43\"\u003e\u003ccode\u003ece87117\u003c/code\u003e\u003c/a\u003e chore(deps): update plugin spot...\n\n_Description has been truncated_","html_url":"https://github.com/ArcticFoxPro/QQVersionList/pull/60","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArcticFoxPro%2FQQVersionList/issues/60","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/60/packages"}},{"old_version":"1.326","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2025-09-09T09:29:03.000Z","version_change":"1.326 → 1.330","issue":{"uuid":"2811202107","node_id":"PR_kwDOAJOrGc6nj4o7","number":3767,"state":"closed","title":"Bump org.kohsuke:github-api from 1.326 to 1.330","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-09-09T09:35:06.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-09T09:29:03.000Z","updated_at":"2025-09-09T09:35:06.000Z","time_to_close":363,"merged_at":"2025-09-09T09:35:05.000Z","merged_by":"github-actions[bot]","closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.kohsuke:github-api","old_version":"1.326","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"}],"path":null,"ecosystem":"maven"},"body":"Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.326 to 1.330.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.329 🌈 (Security)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eChore(deps): Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/hub4j/github-api/pull/2114\"\u003ehub4j/github-api#2114\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.327...github-api-1.329\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.327 🌈\u003c/h2\u003e\n\u003cp\u003eBackport of changes from\n\u003ca href=\"https://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\"\u003ehttps://github.com/hub4j/github-api/releases/tag/github-api-2.0-alpha-3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/b33c8ed7cb450224182f8b01a25e2631758b4dff\"\u003e\u003ccode\u003eb33c8ed\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/231226059fd3b4512228049d118bf6c97d42fb6a\"\u003e\u003ccode\u003e2312260\u003c/code\u003e\u003c/a\u003e Update release tag workflow to support 1.x and 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/36c57655176099066f7d336edfc38f48f8b91c77\"\u003e\u003ccode\u003e36c5765\u003c/code\u003e\u003c/a\u003e Update ossrh sonatype staging url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a58b54b9402253d366243a14165a478685193c3b\"\u003e\u003ccode\u003ea58b54b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2117\"\u003e#2117\u003c/a\u003e from hub4j/staging/main\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.326...github-api-1.330\"\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=org.kohsuke:github-api\u0026package-manager=maven\u0026previous-version=1.326\u0026new-version=1.330)](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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/MorphiaOrg/morphia/pull/3767","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorphiaOrg%2Fmorphia/issues/3767","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3767/packages"}},{"old_version":"1.329","new_version":"1.330","update_type":null,"path":null,"pr_created_at":"2025-09-08T20:30:40.000Z","version_change":"1.329 → 1.330","issue":{"uuid":"2809519058","node_id":"PR_kwDOISlGrs6nddvS","number":78,"state":"closed","title":"build(deps): bump org.kohsuke:github-api from 1.329 to 1.330","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-09-10T02:48:28.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-08T20:30:40.000Z","updated_at":"2025-09-10T02:48:28.000Z","time_to_close":109068,"merged_at":"2025-09-10T02:48:28.000Z","merged_by":"itzg","closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"org.kohsuke:github-api","old_version":"1.329","new_version":"1.330","repository_url":"https://github.com/hub4j/github-api"}],"path":null,"ecosystem":"maven"},"body":"Bumps [org.kohsuke:github-api](https://github.com/hub4j/github-api) from 1.329 to 1.330.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hub4j/github-api/releases\"\u003eorg.kohsuke:github-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.330 🌈 (Compatibility)\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eSupport for Jackson v2.20.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\u003ehttps://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\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/hub4j/github-api/commit/fa40aa30f6bd33ee0540d735f033af022e5569af\"\u003e\u003ccode\u003efa40aa3\u003c/code\u003e\u003c/a\u003e Prepare release (bitwiseman): github-api-1.330\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/6bf1ad69c1df8bf8dac28694e022b7c8cb083043\"\u003e\u003ccode\u003e6bf1ad6\u003c/code\u003e\u003c/a\u003e Update workflows and readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a1f3fd56b67358a54c3b7316d4b2f632fe447c40\"\u003e\u003ccode\u003ea1f3fd5\u003c/code\u003e\u003c/a\u003e fix: remove usage of a deprecated constant. (\u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2138\"\u003e#2138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/e9152d88fff20a26301d6a543a73f7300c28e0be\"\u003e\u003ccode\u003ee9152d8\u003c/code\u003e\u003c/a\u003e Update pom.xml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/0267bd805c10b0d45891ccc2791030070af9bce0\"\u003e\u003ccode\u003e0267bd8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/hub4j/github-api/issues/2118\"\u003e#2118\u003c/a\u003e from hub4j/staging/main-1.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hub4j/github-api/commit/a41abd62cbd8208460ee8b2c2e6b4de845e8fd68\"\u003e\u003ccode\u003ea41abd6\u003c/code\u003e\u003c/a\u003e Prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/hub4j/github-api/compare/github-api-1.329...github-api-1.330\"\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=org.kohsuke:github-api\u0026package-manager=gradle\u0026previous-version=1.329\u0026new-version=1.330)](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 merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/itzg/github-releaser-gradle-plugin/pull/78","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/itzg%2Fgithub-releaser-gradle-plugin/issues/78","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/78/packages"}}]}