{"id":8351,"name":"gcsfs","ecosystem":"pip","repository_url":"https://github.com/fsspec/gcsfs","issues_count":40,"created_at":"2025-06-06T22:21:52.517Z","updated_at":"2025-06-06T22:21:52.517Z","purl":"pkg:pypi/gcsfs","metadata":{"id":2744480,"name":"gcsfs","ecosystem":"pypi","description":"Convenient Filesystem interface over GCS","homepage":"https://github.com/fsspec/gcsfs","licenses":"BSD","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/fsspec/gcsfs","keywords_array":["google-cloud-storage","gcloud","file-system"],"namespace":null,"versions_count":75,"first_release_published_at":"2017-06-28T20:37:16.000Z","latest_release_published_at":"2025-05-24T12:12:57.000Z","latest_release_number":"2025.5.1","last_synced_at":"2025-06-06T06:31:30.145Z","created_at":"2022-04-10T11:06:20.939Z","updated_at":"2025-06-06T06:31:30.146Z","registry_url":"https://pypi.org/project/gcsfs/","install_command":"pip install gcsfs --index-url https://pypi.org/simple","documentation_url":"https://gcsfs.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 4 - Beta","Intended Audience :: Developers","License :: OSI Approved :: BSD License","Operating System :: OS Independent","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.9"],"normalized_name":"gcsfs"},"repo_metadata":{"id":37076663,"uuid":"78670698","full_name":"fsspec/gcsfs","owner":"fsspec","description":"Pythonic file-system interface for Google Cloud Storage","archived":false,"fork":false,"pushed_at":"2024-06-04T00:54:15.000Z","size":5400,"stargazers_count":319,"open_issues_count":77,"forks_count":142,"subscribers_count":14,"default_branch":"main","last_synced_at":"2024-06-11T16:56:49.306Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"http://gcsfs.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fsspec.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"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":"2017-01-11T19:13:20.000Z","updated_at":"2024-06-18T12:38:04.615Z","dependencies_parsed_at":"2022-06-24T18:21:01.543Z","dependency_job_id":"99403bb8-b2c4-4e8d-8f9c-b6f155d41f8f","html_url":"https://github.com/fsspec/gcsfs","commit_stats":{"total_commits":489,"total_committers":80,"mean_commits":6.1125,"dds":0.5950920245398773,"last_synced_commit":"b968445be614464dc14160fc6a85965947448d15"},"previous_names":[],"tags_count":66,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fsspec","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":217946116,"owners_count":16255219,"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":"fsspec","name":"python filesystem spec","uuid":"92825505","kind":"organization","description":"data storage IO layer for python","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/92825505?v=4","repositories_count":16,"last_synced_at":"2024-04-16T01:12:59.009Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/fsspec","funding_links":[],"total_stars":2730,"followers":83,"following":0,"created_at":"2022-11-02T16:23:23.754Z","updated_at":"2024-04-16T01:13:02.234Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fsspec","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fsspec/repositories"},"tags":[{"name":"2024.6.0","sha":"b2c837431caf8eb01cec0d84f0107440cac427dc","kind":"tag","published_at":"2024-06-04T00:54:08.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2024.6.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2024.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2024.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2024.6.0/manifests"},{"name":"2024.5.0","sha":"ac38bf3a87a21fffae22fd4c9c2add62cebfa77e","kind":"tag","published_at":"2024-05-16T00:52:16.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2024.5.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2024.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2024.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2024.5.0/manifests"},{"name":"2024.3.1","sha":"0e113eb915673512d57a5c9d69e46a1cd0833ed8","kind":"tag","published_at":"2024-03-18T20:03:45.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2024.3.1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2024.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2024.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2024.3.1/manifests"},{"name":"2024.2.0","sha":"f526d96860c1422e7b4599b70b267607dae1af8a","kind":"tag","published_at":"2024-02-05T15:11:24.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2024.2.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2024.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2024.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2024.2.0/manifests"},{"name":"2023.12.2post1","sha":"378cae6f56f3dbca1b909d58f21a8d61ed5b0a45","kind":"tag","published_at":"2023-12-13T03:17:11.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2023.12.2post1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2023.12.2post1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.12.2post1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.12.2post1/manifests"},{"name":"2023.12.3post1","sha":"378cae6f56f3dbca1b909d58f21a8d61ed5b0a45","kind":"tag","published_at":"2023-12-13T03:10:47.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2023.12.3post1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2023.12.3post1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.12.3post1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.12.3post1/manifests"},{"name":"2023.12.2","sha":"8f78209ce2aa74b8eb7efb41e84e153aca87a261","kind":"tag","published_at":"2023-12-12T21:45:22.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2023.12.2","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2023.12.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.12.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.12.2/manifests"},{"name":"2023.12.1","sha":"ef4968eec26028bf3620c8bb6bcb39d3f52fcecb","kind":"tag","published_at":"2023-12-05T15:25:22.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2023.12.1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2023.12.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.12.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.12.1/manifests"},{"name":"2023.12.0","sha":"1d780b877986429c7b76ae85b7bc061b8586a6e7","kind":"tag","published_at":"2023-12-03T02:10:34.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2023.12.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2023.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.12.0/manifests"},{"name":"2023.10.0","sha":"ad684a5b3f25d46eeb5c3aebdbe647056a5e312b","kind":"tag","published_at":"2023-10-23T13:20:23.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2023.10.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2023.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.10.0/manifests"},{"name":"2023.9.2","sha":"f83ce7121445ddc0763074212a0856d50e152702","kind":"tag","published_at":"2023-09-25T14:41:40.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2023.9.2","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2023.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.9.2/manifests"},{"name":"2023.9.1","sha":"85606c84779d8cbc6ba62d36e7887f025921d2ca","kind":"tag","published_at":"2023-09-15T20:26:55.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2023.9.1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2023.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.9.1/manifests"},{"name":"2023.9.0","sha":"329f6d877df17859346f0e0ecdf53985badc539c","kind":"tag","published_at":"2023-09-03T17:45:36.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2023.9.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2023.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.9.0/manifests"},{"name":"2023.6.0","sha":"d7952a946710da486eb7a39fed1d92f3c065c8f1","kind":"tag","published_at":"2023-06-12T13:54:45.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2023.6.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2023.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.6.0/manifests"},{"name":"2023.5.0","sha":"2354d6b0ae598a9107ca2f63af12ebc98d41de5f","kind":"tag","published_at":"2023-05-07T19:21:40.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2023.5.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2023.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.5.0/manifests"},{"name":"2023.4.0","sha":"b968445be614464dc14160fc6a85965947448d15","kind":"tag","published_at":"2023-04-11T13:58:00.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2023.4.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2023.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.4.0/manifests"},{"name":"2023.3.0","sha":"dda390af941b57b6911261e5c76d01cc3ddccb10","kind":"tag","published_at":"2023-03-04T20:33:37.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2023.3.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2023.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.3.0/manifests"},{"name":"2023.1.0","sha":"b4d9f4356227f665b21f35defacd2fdabad7ffe7","kind":"tag","published_at":"2023-01-23T15:11:22.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2023.1.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2023.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2023.1.0/manifests"},{"name":"2022.11.0","sha":"805d3fd359ba5189964f8804459653ce1eb4d38c","kind":"tag","published_at":"2022-11-10T02:59:37.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2022.11.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2022.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.11.0/manifests"},{"name":"2022.10.0","sha":"1d34b2ef2305dd4f328e3cac527a437582226e12","kind":"tag","published_at":"2022-10-19T16:55:52.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2022.10.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2022.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.10.0/manifests"},{"name":"2022.8.2","sha":"7108ade1639af9616843fa906a3e7060bf95e37e","kind":"tag","published_at":"2022-09-01T01:13:35.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2022.8.2","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2022.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.8.2/manifests"},{"name":"2022.8.1","sha":"7e8058f4c821519da7ae26a890f92c253ed6a0bf","kind":"tag","published_at":"2022-08-31T14:53:46.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2022.8.1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2022.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.8.1/manifests"},{"name":"2022.7.1","sha":"1523233866ab6ae0321e7f9f3a0a6061449682bf","kind":"tag","published_at":"2022-07-29T00:56:58.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2022.7.1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2022.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.7.1/manifests"},{"name":"2022.5.0","sha":"58323d27ef7bdae8d81201b86d8a196d0a9632c8","kind":"tag","published_at":"2022-05-20T14:37:43.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2022.5.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2022.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.5.0/manifests"},{"name":"2022.3.0","sha":"e4c16db7f59e0f243965f015e95996f9e7fe9665","kind":"tag","published_at":"2022-04-04T14:37:30.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2022.3.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2022.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.3.0/manifests"},{"name":"2022.02.0","sha":"cf2b3e4bfa10bfcbda03830986beb8cc56ffdcb7","kind":"tag","published_at":"2022-02-22T17:57:23.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2022.02.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2022.02.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.02.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.02.0/manifests"},{"name":"2022.01.0","sha":"fd67c7d1b6ca9db83a0deadd1557470c37b0836a","kind":"tag","published_at":"2022-01-12T15:44:07.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2022.01.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2022.01.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.01.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2022.01.0/manifests"},{"name":"2021.11.1","sha":"85e2ee2abfa429f3c10cc08dcda8ed30db8ab3b5","kind":"tag","published_at":"2021-11-26T21:33:30.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2021.11.1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2021.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.11.1/manifests"},{"name":"2021.11.0","sha":"7b5aee98724c7ca44a73524bf448089ac4b79b75","kind":"tag","published_at":"2021-11-05T19:45:50.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2021.11.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2021.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.11.0/manifests"},{"name":"2021.10.1","sha":"2720d29ec25a2db5569f7be7c5297c7af7176137","kind":"tag","published_at":"2021-10-15T15:11:36.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2021.10.1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2021.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.10.1/manifests"},{"name":"2021.10.0","sha":"c9056b97240d465e62e150b8edf33c7f5ef2bfdb","kind":"tag","published_at":"2021-10-02T01:29:15.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2021.10.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2021.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.10.0/manifests"},{"name":"2021.09.0","sha":"f0cd0ef45d46aa2e079d29da738ce61cbd10c6e7","kind":"tag","published_at":"2021-09-24T14:34:52.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2021.09.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2021.09.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.09.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.09.0/manifests"},{"name":"2021.08.1","sha":"ceaa9bcc1361ed0ccd518dab534123ab24ae01ed","kind":"tag","published_at":"2021-08-31T17:41:20.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2021.08.1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2021.08.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.08.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.08.1/manifests"},{"name":"2021.07.0","sha":"07ef99ab22789bdeddea792e4322547691c0fcd4","kind":"tag","published_at":"2021-07-13T15:09:27.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2021.07.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2021.07.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.07.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.07.0/manifests"},{"name":"2021.06.1","sha":"17e7a093613f3ff13544a1503aa79dbfc39eef14","kind":"tag","published_at":"2021-06-23T13:30:47.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2021.06.1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2021.06.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.06.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.06.1/manifests"},{"name":"2021.06.0","sha":"e2f8acd176e373050db1329c16aef4a4ababa90c","kind":"tag","published_at":"2021-06-07T18:48:51.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2021.06.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2021.06.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.06.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.06.0/manifests"},{"name":"2021.05.0","sha":"9e3376bd4104ca4371b8cad9092f57ca08c5e9b4","kind":"tag","published_at":"2021-05-14T15:07:27.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2021.05.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2021.05.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.05.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.05.0/manifests"},{"name":"2021.04.0","sha":"2efdfb0aebc66ed870b7c29f61281fab35b2c39f","kind":"tag","published_at":"2021-04-21T14:15:13.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/2021.04.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/2021.04.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.04.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/2021.04.0/manifests"},{"name":"0.8.0","sha":"55f1e637906dca7947b345c3ad7291af0d9c8c3a","kind":"tag","published_at":"2021-04-05T21:13:50.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.8.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.8.0/manifests"},{"name":"0.7.2","sha":"7555e4c4108995e64fb6fc2f78617384343af2da","kind":"tag","published_at":"2021-02-10T20:19:49.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.7.2","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.7.2/manifests"},{"name":"0.7.1","sha":"e142fca992556479930083363e87b8f9509f6175","kind":"tag","published_at":"2020-09-09T15:28:07.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.7.1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.7.1/manifests"},{"name":"0.7.0","sha":"ae121f7683490adaff86b0658f6ec014d0d7d9b9","kind":"tag","published_at":"2020-08-21T20:18:26.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.7.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.7.0/manifests"},{"name":"0.6.2","sha":"42d59912e88bf931e8c7769c1c2f8d6011339571","kind":"tag","published_at":"2020-05-06T21:15:47.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.6.2","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.6.2/manifests"},{"name":"0.6.1","sha":"18fd9d76343fc4428c507c5c5f2ed4853f58d865","kind":"tag","published_at":"2020-03-27T16:12:12.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.6.1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"d7c11a008fe494106d06b948e46d567ed06f68ae","kind":"tag","published_at":"2019-12-12T14:19:53.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.6.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.6.0/manifests"},{"name":"0.5.3","sha":"27a9648d77d482a2f19ce585affcb4f9a2b1ea44","kind":"tag","published_at":"2019-12-05T20:54:23.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.5.3","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.5.3/manifests"},{"name":"0.5.2","sha":"ff45e616bd7a32ecb3366787f8329f55c841e8f6","kind":"tag","published_at":"2019-12-04T17:00:04.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.5.2","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.5.2/manifests"},{"name":"0.5.1","sha":"f949f14645d728f4b750a8f4a23ab6e84ad3ae29","kind":"tag","published_at":"2019-12-02T17:25:54.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.5.1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.5.1/manifests"},{"name":"0.5.0","sha":"f3c38729ee3a6ee9a6b0a9e09b4ab4bbb97ba9bd","kind":"tag","published_at":"2019-11-27T16:47:03.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.5.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.5.0/manifests"},{"name":"0.4.0","sha":"b08e2d281248c200e9b2cbe25e692663c0eafde0","kind":"tag","published_at":"2019-11-13T16:58:25.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.4.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.4.0/manifests"},{"name":"0.3.1","sha":"f32e9947360ba572f6f8de826bac9f446aaecba5","kind":"tag","published_at":"2019-10-06T16:25:09.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.3.1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.3.1/manifests"},{"name":"0.3.0","sha":"d410a1696839158802a4d6a726dc4454cc1a116d","kind":"tag","published_at":"2019-07-17T20:12:17.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.3.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.3.0/manifests"},{"name":"0.2.3","sha":"45ef7c661c3b06bff83a20aa361e50488dc94e09","kind":"tag","published_at":"2019-06-30T02:43:53.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.2.3","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.2.3/manifests"},{"name":"0.2.2","sha":"d22f9920f69bd3d3476c4bcae56b3ed99d119979","kind":"tag","published_at":"2019-05-16T13:20:53.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.2.2","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.2.2/manifests"},{"name":"0.2.1","sha":"a37fc5b359dfeb7ef409f51e7b6b19d375fa7d55","kind":"tag","published_at":"2019-02-24T22:10:30.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.2.1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.2.1/manifests"},{"name":"0.2.0","sha":"e368a1609779189c28fd0ef83143f80ff63bc7de","kind":"tag","published_at":"2018-11-21T21:23:25.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.2.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.2.0/manifests"},{"name":"0.1.2","sha":"cceda5143ea4dedefc0cd6380369477851cc9003","kind":"tag","published_at":"2018-08-19T19:34:56.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.1.2","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.1.2/manifests"},{"name":"0.1.1","sha":"bf7ab43e135e26456686608665ae030d07ec8f38","kind":"tag","published_at":"2018-07-03T21:21:38.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.1.1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.1.1/manifests"},{"name":"0.1.0","sha":"9fd216635b33c0331bdcb2b886647b2b0d937997","kind":"tag","published_at":"2018-04-21T01:16:17.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.1.0","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.1.0/manifests"},{"name":"0.0.7","sha":"76ed4e18b4a3b67be791a735795655ea5945d504","kind":"tag","published_at":"2018-04-20T17:07:57.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.0.7","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.0.7/manifests"},{"name":"0.0.6","sha":"f99177b31c44fcc404619b2876a77cdcda955a75","kind":"tag","published_at":"2018-03-23T13:33:53.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.0.6","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.0.6/manifests"},{"name":"0.0.5","sha":"333a1f8696094643c47f371692f0cc5919de0200","kind":"tag","published_at":"2018-03-01T13:58:20.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.0.5","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.0.5/manifests"},{"name":"0.0.4","sha":"fc070ced20d1f1bfa7c8d8c999966c656e17fd5c","kind":"tag","published_at":"2018-01-16T14:31:28.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.0.4","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.0.4/manifests"},{"name":"0.0.3","sha":"9cd32123104a2de13b94267c494ba5c7741fe788","kind":"tag","published_at":"2017-09-24T01:46:28.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.0.3","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.0.3/manifests"},{"name":"0.0.2","sha":"e069cf15b9a6115fd5dd5634069080526b81c51b","kind":"tag","published_at":"2017-07-19T19:09:24.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.0.2","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.0.2/manifests"},{"name":"0.0.1","sha":"64e80719bc305e10de98a3d7810ae0da78909a08","kind":"tag","published_at":"2017-06-28T20:36:28.000Z","download_url":"https://codeload.github.com/fsspec/gcsfs/tar.gz/0.0.1","html_url":"https://github.com/fsspec/gcsfs/releases/tag/0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fsspec%2Fgcsfs/tags/0.0.1/manifests"}]},"repo_metadata_updated_at":"2024-09-07T06:44:16.187Z","dependent_packages_count":213,"downloads":42778218,"downloads_period":"last-month","dependent_repos_count":1482,"rankings":{"downloads":0.08363795769313306,"dependent_repos_count":0.28612985526598156,"dependent_packages_count":0.11628610784527713,"stargazers_count":4.512231134229752,"forks_count":5.389879440285982,"docker_downloads_count":0.7934600986414334,"average":1.8636040989935931},"purl":"pkg:pypi/gcsfs","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/gcsfs","docker_dependents_count":250,"docker_downloads_count":26248408,"usage_url":"https://repos.ecosyste.ms/usage/pypi/gcsfs","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/gcsfs/dependencies","status":null,"funding_links":[],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/gcsfs/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/gcsfs/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/gcsfs/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/gcsfs/related_packages","maintainers":[{"uuid":"jcrist","login":"jcrist","name":null,"email":null,"url":null,"packages_count":25,"html_url":"https://pypi.org/user/jcrist/","role":null,"created_at":"2022-12-06T23:15:09.948Z","updated_at":"2022-12-06T23:15:09.948Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/jcrist/packages"},{"uuid":"tomaugspurger","login":"tomaugspurger","name":null,"email":null,"url":null,"packages_count":30,"html_url":"https://pypi.org/user/tomaugspurger/","role":null,"created_at":"2022-12-06T23:15:09.980Z","updated_at":"2022-12-06T23:15:09.980Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/tomaugspurger/packages"},{"uuid":"mdurant","login":"mdurant","name":null,"email":null,"url":null,"packages_count":43,"html_url":"https://pypi.org/user/mdurant/","role":null,"created_at":"2022-12-06T23:15:09.964Z","updated_at":"2022-12-06T23:15:09.964Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/mdurant/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":690419,"maintainers_count":292811,"namespaces_count":0,"keywords_count":228590,"github":"pypi","metadata":{"funded_packages_count":48950},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-06-06T05:32:09.692Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},"unique_repositories_count":19,"unique_repositories_count_past_30_days":3,"recent_issues":[{"uuid":"4609730176","node_id":"PR_kwDOSKhg787jvVND","number":14,"state":"open","title":"chore(deps)(deps): Bump the python-minor-and-patch group across 1 directory with 5 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T03:10:39.000Z","updated_at":"2026-06-08T03:10:40.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): Bump","group_name":"python-minor-and-patch","update_count":5,"packages":[{"name":"gcsfs","old_version":"2026.3.0","new_version":"2026.5.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"google-cloud-logging","old_version":"3.15.0","new_version":"3.16.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"ruff","old_version":"0.15.11","new_version":"0.15.16","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.32","new_version":"0.0.44","repository_url":"https://github.com/astral-sh/ty"},{"name":"pytest-asyncio","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-and-patch group with 5 updates in the /coderank-reviewer directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gcsfs](https://github.com/fsspec/gcsfs) | `2026.3.0` | `2026.5.0` |\n| [google-cloud-logging](https://github.com/googleapis/google-cloud-python) | `3.15.0` | `3.16.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.11` | `0.15.16` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.32` | `0.0.44` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.0` |\n\n\nUpdates `gcsfs` from 2026.3.0 to 2026.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fsspec/gcsfs/releases\"\u003egcsfs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2026.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix zonal documentation about finalized objects by \u003ca href=\"https://github.com/Mahalaxmibejugam\"\u003e\u003ccode\u003e@​Mahalaxmibejugam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/828\"\u003efsspec/gcsfs#828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable branch wise tracking by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/819\"\u003efsspec/gcsfs#819\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: adjust fsspec dependency version constraint by \u003ca href=\"https://github.com/zhixiangli\"\u003e\u003ccode\u003e@​zhixiangli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/834\"\u003efsspec/gcsfs#834\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for partial prefixes in find method for HNS buckets by \u003ca href=\"https://github.com/Mahalaxmibejugam\"\u003e\u003ccode\u003e@​Mahalaxmibejugam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/831\"\u003efsspec/gcsfs#831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workflow to automate PyPI package publishing on release by \u003ca href=\"https://github.com/Yonghui-Lee\"\u003e\u003ccode\u003e@​Yonghui-Lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/824\"\u003efsspec/gcsfs#824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix HttpError message formatting and handle None content in validate_response by \u003ca href=\"https://github.com/zhixiangli\"\u003e\u003ccode\u003e@​zhixiangli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/835\"\u003efsspec/gcsfs#835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntegrate prefetcher engine with zonal buckets by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/805\"\u003efsspec/gcsfs#805\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the benchmark config, and fix the block size propogation by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/808\"\u003efsspec/gcsfs#808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd pypi environment to release workflow by \u003ca href=\"https://github.com/Yonghui-Lee\"\u003e\u003ccode\u003e@​Yonghui-Lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/836\"\u003efsspec/gcsfs#836\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2026.4.0...2026.5.0\"\u003ehttps://github.com/fsspec/gcsfs/compare/2026.4.0...2026.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/255e4f866ae2c66dbca14a0aaa3dea024156997f\"\u003e\u003ccode\u003e255e4f8\u003c/code\u003e\u003c/a\u003e Add pypi environment to release workflow (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/836\"\u003e#836\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/2fa8b5a1c9d973e028a1939495cd640be923ed5d\"\u003e\u003ccode\u003e2fa8b5a\u003c/code\u003e\u003c/a\u003e Update the benchmark config, and fix the block size propogation (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/37b7f1a7a6be20ce71ae1d5db60143cee46519c5\"\u003e\u003ccode\u003e37b7f1a\u003c/code\u003e\u003c/a\u003e Integrate prefetcher engine with zonal buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/805\"\u003e#805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b2af5b89fb1e39616d23725e95ec7292b10529cc\"\u003e\u003ccode\u003eb2af5b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/835\"\u003e#835\u003c/a\u003e from zhixiangli/fix-httperror-content-none\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b89bb899afcc753e40a6f29681c7764b77cbc661\"\u003e\u003ccode\u003eb89bb89\u003c/code\u003e\u003c/a\u003e Add workflow to automate PyPI package publishing on release (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/824\"\u003e#824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14bb32a4b7ac1398d044e2b426441c2593b92196\"\u003e\u003ccode\u003e14bb32a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/831\"\u003e#831\u003c/a\u003e from ankitaluthra1/fix-find-partial-prefixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/820c0418861219b1e578736e5b18449e9ddebfb5\"\u003e\u003ccode\u003e820c041\u003c/code\u003e\u003c/a\u003e fix: adjust fsspec dependency version constraint (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/834\"\u003e#834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/005cc2e478a8e9107164c21d1e2e5549cc287103\"\u003e\u003ccode\u003e005cc2e\u003c/code\u003e\u003c/a\u003e add more coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c54372993806e4c0e1a05107ffd08acbe41b0b1c\"\u003e\u003ccode\u003ec543729\u003c/code\u003e\u003c/a\u003e fix issue with special characters in rm method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/5cb0d32633f32dfd2fa15667e55127244a5b6a08\"\u003e\u003ccode\u003e5cb0d32\u003c/code\u003e\u003c/a\u003e Enable branch wise tracking (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2026.3.0...2026.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-logging` from 3.15.0 to 3.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-logging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-logging: v3.16.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-logging-v3.15.0...google-cloud-logging-v3.16.0\"\u003ev3.16.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop support for Python 3.7, 3.8, and 3.9 runtimes (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/17276\"\u003e#17276\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/014e951b\"\u003e014e951b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-logging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://pypi.org/project/google-cloud-documentai/#history\"\u003ePyPI History\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/googleapis/google-cloud-python/commit/5accbb42b3f8372c4d03ef59a6b0000b165f2200\"\u003e\u003ccode\u003e5accbb4\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260602T021047Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/17336\"\u003e#17336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/86e57cb9b6ec4266773e99e8a5f60eda78cd1e11\"\u003e\u003ccode\u003e86e57cb\u003c/code\u003e\u003c/a\u003e fix(spanner_dbapi): replace insecure pickle with json for partition deseriali...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6b62cb6fb3de94326b8944ae08a400c12529cad2\"\u003e\u003ccode\u003e6b62cb6\u003c/code\u003e\u003c/a\u003e feat(bigframes): Add ai_generate functions to the dataframe bq accessor (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/17302\"\u003e#17302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/54fd04b618127ca20ae8f183734ea07add1af876\"\u003e\u003ccode\u003e54fd04b\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260529T145921Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/17312\"\u003e#17312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c04f892621ceeefb5e2dcbf2b9ea0dddb1b9ad31\"\u003e\u003ccode\u003ec04f892\u003c/code\u003e\u003c/a\u003e chore: update googleapis and regenerate (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/17313\"\u003e#17313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1c2e24f3da44ecfdefe9acb099e28d41d66d46d2\"\u003e\u003ccode\u003e1c2e24f\u003c/code\u003e\u003c/a\u003e chore: generate google-cloud-monitoring-dashboards (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/17309\"\u003e#17309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/06965d82a9676c6e0797bf20e616f2d14332c443\"\u003e\u003ccode\u003e06965d8\u003c/code\u003e\u003c/a\u003e chore: generate google-cloud-containeranalysis (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/17308\"\u003e#17308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/20242246da615ef75d7ed64e0dfd2d6f72537583\"\u003e\u003ccode\u003e2024224\u003c/code\u003e\u003c/a\u003e chore: generate grafeas (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/17307\"\u003e#17307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/9f2ed920d6525f1a1dd51c1b09ca848a04c28c78\"\u003e\u003ccode\u003e9f2ed92\u003c/code\u003e\u003c/a\u003e chore(spanner): deprecate experimental host option/parameter to replace with ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/7813ca4e59dfc3d9e1546b9b5f0acba9e7536a8e\"\u003e\u003ccode\u003e7813ca4\u003c/code\u003e\u003c/a\u003e chore: add missing nox sessions and polish dependencies in sqlalchemy-spanner...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-logging-v3.15.0...google-cloud-logging-v3.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.11 to 0.15.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.15\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/astral-sh/ruff/commit/6c498ab5394edc5622d7f348e12956bf86203716\"\u003e\u003ccode\u003e6c498ab\u003c/code\u003e\u003c/a\u003e Bump 0.15.16 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25635\"\u003e#25635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e51e132831c4e1c4a5ac00fca4c9256354ab99bf\"\u003e\u003ccode\u003ee51e132\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (`AS...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7c6dcd9f2611999c449143d241c582dedf287964\"\u003e\u003ccode\u003e7c6dcd9\u003c/code\u003e\u003c/a\u003e [ty] Add caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/27058fc071b542bf06395ba89cabed061d313ca6\"\u003e\u003ccode\u003e27058fc\u003c/code\u003e\u003c/a\u003e [ty] Compact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bf80d05f007c939799f530c9e775ed9449f5b2eb\"\u003e\u003ccode\u003ebf80d05\u003c/code\u003e\u003c/a\u003e Fix CODEOWNERS syntax (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25622\"\u003e#25622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/10ccd511e94a81d1e836b174f1c553a73ff3f1b3\"\u003e\u003ccode\u003e10ccd51\u003c/code\u003e\u003c/a\u003e Shrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0d7135f4d23e7f4d8404daed16b9ef11d14f3fb9\"\u003e\u003ccode\u003e0d7135f\u003c/code\u003e\u003c/a\u003e [ty] Upgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/49493a3cea83a08fa9aa143695017c816a540f1d\"\u003e\u003ccode\u003e49493a3\u003c/code\u003e\u003c/a\u003e [ty] Show type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/85207d3b7657a84252f266766cb0d56034dc21cc\"\u003e\u003ccode\u003e85207d3\u003c/code\u003e\u003c/a\u003e [ty] sys.implementation.version is not sys.version_info (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a8a0614348c1fcf47fc9b666eff61a103914d520\"\u003e\u003ccode\u003ea8a0614\u003c/code\u003e\u003c/a\u003e [ty] Avoid retaining duplicate function signatures (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25609\"\u003e#25609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.11...0.15.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.32 to 0.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.44\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid treating \u003ccode\u003esys.implementation.version\u003c/code\u003e like \u003ccode\u003esys.version_info\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchor point for override diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25621\"\u003e#25621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReuse expression cache for TypedDict union inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25643\"\u003e#25643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable narrowing for unions of TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25188\"\u003e#25188\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pierrem964\"\u003e\u003ccode\u003e@​pierrem964\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Hugo-Polloli\"\u003e\u003ccode\u003e@​Hugo-Polloli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.44\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.44/ty-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/ty/releases/download/0.0.44/ty-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ty 0.0.44\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.44\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid treating \u003ccode\u003esys.implementation.version\u003c/code\u003e like \u003ccode\u003esys.version_info\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchor point for override diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25621\"\u003e#25621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReuse expression cache for TypedDict union inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25643\"\u003e#25643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable narrowing for unions of TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25188\"\u003e#25188\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pierrem964\"\u003e\u003ccode\u003e@​pierrem964\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Hugo-Polloli\"\u003e\u003ccode\u003e@​Hugo-Polloli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.43\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-03.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't inject \u003ccode\u003eUnknown\u003c/code\u003e from non-callable elements of intersection call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25538\"\u003e#25538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't needlessly disambiguate the same type alias (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25563\"\u003e#25563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix variance inference for nested type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25567\"\u003e#25567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore rejected member annotations for synthesized bindings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25427\"\u003e#25427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize dynamic class literals in cycle recovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25558\"\u003e#25558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegister file roots for first-party search paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25522\"\u003e#25522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat union-bound typevars like unions for \u003ccode\u003epossibly-missing-attribute\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25561\"\u003e#25561\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress importable completions that are already in scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25479\"\u003e#25479\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/astral-sh/ty/commit/f5523e256eb275c9b473f174aedc383e7b050c34\"\u003e\u003ccode\u003ef5523e2\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.44 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3667\"\u003e#3667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/29ce3146faa2d42867dadd7ecbda84759b8183be\"\u003e\u003ccode\u003e29ce314\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.43 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3648\"\u003e#3648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/794322d34624abc56301bd85ac354b94ca54fbb2\"\u003e\u003ccode\u003e794322d\u003c/code\u003e\u003c/a\u003e Update docker/build-push-action action to v7.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3629\"\u003e#3629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/ce89685310383494c7dfec92bd2fc2dd2a46d074\"\u003e\u003ccode\u003ece89685\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/792fb71ca172f8d67fcfdb5fdd452a049724c8fd\"\u003e\u003ccode\u003e792fb71\u003c/code\u003e\u003c/a\u003e Update docker/login-action action to v4.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3630\"\u003e#3630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5c377476823a4b77a903fb5340d77b51d68db389\"\u003e\u003ccode\u003e5c37747\u003c/code\u003e\u003c/a\u003e Update docker/metadata-action action to v6.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3631\"\u003e#3631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5a3e1695ce1e2205070afc18d9a7449e0ed045d0\"\u003e\u003ccode\u003e5a3e169\u003c/code\u003e\u003c/a\u003e Update docker/setup-buildx-action action to v4.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3632\"\u003e#3632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/c2500cc57e4aea85ae8e3287351538ad60a9ee00\"\u003e\u003ccode\u003ec2500cc\u003c/code\u003e\u003c/a\u003e Release: Force usage of PyPI as the index (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/7f8cb6457e8d77178ae9204f9b81a516f44444ed\"\u003e\u003ccode\u003e7f8cb64\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.42 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3615\"\u003e#3615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/41bb0d24412ad97c214bd0019e602c463ae3feba\"\u003e\u003ccode\u003e41bb0d2\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.41 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3601\"\u003e#3601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.32...0.0.44\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio v1.4.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0\"\u003e1.4.0\u003c/a\u003e - 2026-05-26\u003c/h1\u003e\n\u003ch2\u003eDeprecated\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOverriding the \u003cem\u003eevent_loop_policy\u003c/em\u003e fixture is deprecated. Use the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook instead. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook to parametrize asyncio tests with custom event loop factories.\u003c/p\u003e\n\u003cp\u003eThe hook returns a mapping of factory names to loop factories, and \u003ccode\u003epytest.mark.asyncio(loop_factories=[...])\u003c/code\u003e selects a subset of configured factories per test. When a single factory is configured, test names are unchanged.\u003c/p\u003e\n\u003cp\u003eSynchronous \u003ccode\u003e@pytest_asyncio.fixture\u003c/code\u003e functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via \u003ccode\u003easyncio.run()\u003c/code\u003e or \u003ccode\u003easyncio.set_event_loop(None)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved the readability of the warning message that is displayed when \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e is unset (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298\"\u003e#1298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly import \u003ccode\u003easyncio.AbstractEventLoopPolicy\u003c/code\u003e for type checking to avoid raising\na DeprecationWarning. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394\"\u003e#1394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated minimum supported pytest version to v8.4.0. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1397\"\u003e#1397\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a \u003ccode\u003eResourceWarning: unclosed event loop\u003c/code\u003e warning that could occur when a synchronous test called \u003ccode\u003easyncio.run()\u003c/code\u003e or otherwise unset the current event loop after pytest-asyncio had run an async test or fixture. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/724\"\u003e#724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded dependency on \u003ccode\u003esphinx-tabs \u0026gt;= 3.5\u003c/code\u003e to organize documentation examples into tabs. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1395\"\u003e#1395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio v1.4.0a2\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0a2\"\u003e1.4.0a2\u003c/a\u003e - 2026-05-02\u003c/h1\u003e\n\u003ch2\u003eDeprecated\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOverriding the \u003cem\u003eevent_loop_policy\u003c/em\u003e fixture is deprecated. Use the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook instead. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook to parametrize asyncio tests with custom event loop factories.\u003c/p\u003e\n\u003cp\u003eThe hook returns a mapping of factory names to loop factories, and \u003ccode\u003epytest.mark.asyncio(loop_factories=[...])\u003c/code\u003e selects a subset of configured factories per test. When a single factory is configured, test names are unchanged on pytest 8.4+.\u003c/p\u003e\n\u003cp\u003eSynchronous \u003ccode\u003e@pytest_asyncio.fixture\u003c/code\u003e functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via \u003ccode\u003easyncio.run()\u003c/code\u003e or \u003ccode\u003easyncio.set_event_loop(None)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved the readability of the warning message that is displayed when \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e is unset (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298\"\u003e#1298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly import \u003ccode\u003easyncio.AbstractEventLoopPolicy\u003c/code\u003e for type checking to avoid raising\na DeprecationWarning. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394\"\u003e#1394\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/pytest-dev/pytest-asyncio/commit/6e14cd2af9292dca1fa2b027a06bbc40b0e0e425\"\u003e\u003ccode\u003e6e14cd2\u003c/code\u003e\u003c/a\u003e chore: Prepare release of v1.4.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4b900fb5d0c30949c574e55dd904ee179f858a5e\"\u003e\u003ccode\u003e4b900fb\u003c/code\u003e\u003c/a\u003e Build(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ab9f63245094865c42c940a34af724b0dec1debf\"\u003e\u003ccode\u003eab9f632\u003c/code\u003e\u003c/a\u003e Build(deps): Bump zipp from 3.23.1 to 4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a56fc77ecd59f781d8471b0f6a82bf58e08c95fa\"\u003e\u003ccode\u003ea56fc77\u003c/code\u003e\u003c/a\u003e Build(deps): Bump hypothesis from 6.152.6 to 6.152.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/e8bae9bc1f197731fc1a210c0da557af7b698e6d\"\u003e\u003ccode\u003ee8bae9b\u003c/code\u003e\u003c/a\u003e Build(deps): Bump requests from 2.34.0 to 2.34.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/fc433402c570fd36a7a227ef4bc3abd4579299de\"\u003e\u003ccode\u003efc43340\u003c/code\u003e\u003c/a\u003e Build(deps): Bump idna from 3.14 to 3.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/762eaf5033b798b965c92afdbb2cebefa8fc3a8b\"\u003e\u003ccode\u003e762eaf5\u003c/code\u003e\u003c/a\u003e Build(deps): Bump jaraco-functools from 4.4.0 to 4.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/b62e2228c80070977baf6b77ba89d5c148af920f\"\u003e\u003ccode\u003eb62e222\u003c/code\u003e\u003c/a\u003e Build(deps): Bump click from 8.3.3 to 8.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/919044700627889d25ca63b6e7a3bc785f3137eb\"\u003e\u003ccode\u003e9190447\u003c/code\u003e\u003c/a\u003e Build(deps): Bump pydantic from 2.13.3 to 2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/82a393c5e31b6ebbbd8ec2a8dafc5f35b9cf1236\"\u003e\u003ccode\u003e82a393c\u003c/code\u003e\u003c/a\u003e ci: Remove unnecessary debug output.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v1.3.0...v1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/coderank-dev/coderank-pr/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderank-dev%2Fcoderank-pr/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"},{"uuid":"4512360049","node_id":"PR_kwDOSlTVxc7e0Ecl","number":68,"state":"closed","title":"build(deps-dev): Update gcsfs requirement from \u003e=2023.0 to \u003e=2026.5.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-24T20:18:31.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-24T17:17:20.000Z","updated_at":"2026-05-24T20:18:39.000Z","time_to_close":10871,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): Update","packages":[{"name":"gcsfs","old_version":"\u003e=2023.0","new_version":"\u003e=2026.5.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [gcsfs](https://github.com/fsspec/gcsfs) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fsspec/gcsfs/releases\"\u003egcsfs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2026.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix zonal documentation about finalized objects by \u003ca href=\"https://github.com/Mahalaxmibejugam\"\u003e\u003ccode\u003e@​Mahalaxmibejugam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/828\"\u003efsspec/gcsfs#828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable branch wise tracking by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/819\"\u003efsspec/gcsfs#819\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: adjust fsspec dependency version constraint by \u003ca href=\"https://github.com/zhixiangli\"\u003e\u003ccode\u003e@​zhixiangli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/834\"\u003efsspec/gcsfs#834\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for partial prefixes in find method for HNS buckets by \u003ca href=\"https://github.com/Mahalaxmibejugam\"\u003e\u003ccode\u003e@​Mahalaxmibejugam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/831\"\u003efsspec/gcsfs#831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workflow to automate PyPI package publishing on release by \u003ca href=\"https://github.com/Yonghui-Lee\"\u003e\u003ccode\u003e@​Yonghui-Lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/824\"\u003efsspec/gcsfs#824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix HttpError message formatting and handle None content in validate_response by \u003ca href=\"https://github.com/zhixiangli\"\u003e\u003ccode\u003e@​zhixiangli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/835\"\u003efsspec/gcsfs#835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntegrate prefetcher engine with zonal buckets by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/805\"\u003efsspec/gcsfs#805\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the benchmark config, and fix the block size propogation by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/808\"\u003efsspec/gcsfs#808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd pypi environment to release workflow by \u003ca href=\"https://github.com/Yonghui-Lee\"\u003e\u003ccode\u003e@​Yonghui-Lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/836\"\u003efsspec/gcsfs#836\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2026.4.0...2026.5.0\"\u003ehttps://github.com/fsspec/gcsfs/compare/2026.4.0...2026.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/255e4f866ae2c66dbca14a0aaa3dea024156997f\"\u003e\u003ccode\u003e255e4f8\u003c/code\u003e\u003c/a\u003e Add pypi environment to release workflow (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/836\"\u003e#836\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/2fa8b5a1c9d973e028a1939495cd640be923ed5d\"\u003e\u003ccode\u003e2fa8b5a\u003c/code\u003e\u003c/a\u003e Update the benchmark config, and fix the block size propogation (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/37b7f1a7a6be20ce71ae1d5db60143cee46519c5\"\u003e\u003ccode\u003e37b7f1a\u003c/code\u003e\u003c/a\u003e Integrate prefetcher engine with zonal buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/805\"\u003e#805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b2af5b89fb1e39616d23725e95ec7292b10529cc\"\u003e\u003ccode\u003eb2af5b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/835\"\u003e#835\u003c/a\u003e from zhixiangli/fix-httperror-content-none\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b89bb899afcc753e40a6f29681c7764b77cbc661\"\u003e\u003ccode\u003eb89bb89\u003c/code\u003e\u003c/a\u003e Add workflow to automate PyPI package publishing on release (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/824\"\u003e#824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14bb32a4b7ac1398d044e2b426441c2593b92196\"\u003e\u003ccode\u003e14bb32a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/831\"\u003e#831\u003c/a\u003e from ankitaluthra1/fix-find-partial-prefixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/820c0418861219b1e578736e5b18449e9ddebfb5\"\u003e\u003ccode\u003e820c041\u003c/code\u003e\u003c/a\u003e fix: adjust fsspec dependency version constraint (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/834\"\u003e#834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/005cc2e478a8e9107164c21d1e2e5549cc287103\"\u003e\u003ccode\u003e005cc2e\u003c/code\u003e\u003c/a\u003e add more coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c54372993806e4c0e1a05107ffd08acbe41b0b1c\"\u003e\u003ccode\u003ec543729\u003c/code\u003e\u003c/a\u003e fix issue with special characters in rm method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/5cb0d32633f32dfd2fa15667e55127244a5b6a08\"\u003e\u003ccode\u003e5cb0d32\u003c/code\u003e\u003c/a\u003e Enable branch wise tracking (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2023.1.0...2026.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/tongqqiu/filedge/pull/68","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tongqqiu%2Ffiledge/issues/68","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/68/packages"},{"uuid":"4425259729","node_id":"PR_kwDOMjIvDc7aeXKW","number":618,"state":"closed","title":"Bump the non-major-versions group with 7 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["alexander0042"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-12T01:13:06.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-12T00:28:00.000Z","updated_at":"2026-05-12T01:13:15.000Z","time_to_close":2706,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"non-major-versions","update_count":7,"packages":[{"name":"aiobotocore","old_version":"3.6.0","new_version":"3.7.0","repository_url":"https://github.com/aio-libs/aiobotocore"},{"name":"gcsfs","old_version":"2026.4.0","new_version":"2026.5.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"orjson","old_version":"3.11.8","new_version":"3.11.9","repository_url":"https://github.com/ijl/orjson"},{"name":"pandas","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"ujson","old_version":"5.12.0","new_version":"5.12.1","repository_url":"https://github.com/ultrajson/ultrajson"},{"name":"zarr","old_version":"3.2.0","new_version":"3.2.1","repository_url":"https://github.com/zarr-developers/zarr-python"},{"name":"xarray-spatial","old_version":"0.9.8","new_version":"0.9.9","repository_url":"https://github.com/xarray-contrib/xarray-spatial"}],"path":null,"ecosystem":"pip"},"body":"Bumps the non-major-versions group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aiobotocore](https://github.com/aio-libs/aiobotocore) | `3.6.0` | `3.7.0` |\n| [gcsfs](https://github.com/fsspec/gcsfs) | `2026.4.0` | `2026.5.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.8` | `3.11.9` |\n| [pandas](https://github.com/pandas-dev/pandas) | `3.0.2` | `3.0.3` |\n| [ujson](https://github.com/ultrajson/ultrajson) | `5.12.0` | `5.12.1` |\n| [zarr](https://github.com/zarr-developers/zarr-python) | `3.2.0` | `3.2.1` |\n| [xarray-spatial](https://github.com/xarray-contrib/xarray-spatial) | `0.9.8` | `0.9.9` |\n\nUpdates `aiobotocore` from 3.6.0 to 3.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aio-libs/aiobotocore/releases\"\u003eaiobotocore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace per-PR \u003ccode\u003eCHANGES.rst\u003c/code\u003e / \u003ccode\u003e__init__.py\u003c/code\u003e ceremony with an AI-drafted\nrelease flow: contributors no longer touch version or changelog files; a\nworkflow-triggered agent synthesizes merged PRs into a release PR at release\ntime (closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1167\"\u003e#1167\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1592\"\u003e#1592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eAioSession.warm_up_loader_caches()\u003c/code\u003e and \u003ccode\u003ewarm_up_loader_caches\u003c/code\u003e\noption in \u003ccode\u003eAioConfig\u003c/code\u003e to pre-populate botocore loader caches off the event\nloop, avoiding blocking file I/O on first client/waiter/paginator use\n(closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1199\"\u003e#1199\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix race condition in \u003ccode\u003eAioAssumeRoleProvider._visited_profiles\u003c/code\u003e causing\nfalse \u003ccode\u003eInfiniteLoopConfigError\u003c/code\u003e under concurrent async usage\n(closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1455\"\u003e#1455\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efall back to synchronous \u003ccode\u003esubprocess.run\u003c/code\u003e (via \u003ccode\u003easyncio.to_thread\u003c/code\u003e) for\n\u003ccode\u003ecredential_process\u003c/code\u003e when the running event loop does not implement\nsubprocess transports — notably \u003ccode\u003easyncio.SelectorEventLoop\u003c/code\u003e on Windows\n(closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1415\"\u003e#1415\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1588\"\u003e#1588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aio-libs/aiobotocore/blob/main/CHANGES.rst\"\u003eaiobotocore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.7.0 (2026-05-09)\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace per-PR \u003ccode\u003eCHANGES.rst\u003c/code\u003e / \u003ccode\u003e__init__.py\u003c/code\u003e ceremony with an AI-drafted\nrelease flow: contributors no longer touch version or changelog files; a\nworkflow-triggered agent synthesizes merged PRs into a release PR at release\ntime (closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1167\"\u003e#1167\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1592\"\u003e#1592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eAioSession.warm_up_loader_caches()\u003c/code\u003e and \u003ccode\u003ewarm_up_loader_caches\u003c/code\u003e\noption in \u003ccode\u003eAioConfig\u003c/code\u003e to pre-populate botocore loader caches off the event\nloop, avoiding blocking file I/O on first client/waiter/paginator use\n(closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1199\"\u003e#1199\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix race condition in \u003ccode\u003eAioAssumeRoleProvider._visited_profiles\u003c/code\u003e causing\nfalse \u003ccode\u003eInfiniteLoopConfigError\u003c/code\u003e under concurrent async usage\n(closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1455\"\u003e#1455\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efall back to synchronous \u003ccode\u003esubprocess.run\u003c/code\u003e (via \u003ccode\u003easyncio.to_thread\u003c/code\u003e) for\n\u003ccode\u003ecredential_process\u003c/code\u003e when the running event loop does not implement\nsubprocess transports — notably \u003ccode\u003easyncio.SelectorEventLoop\u003c/code\u003e on Windows\n(closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1415\"\u003e#1415\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1588\"\u003e#1588\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/aio-libs/aiobotocore/commit/d232742cfc2e1098cb3a448f9e1d78eb0899203d\"\u003e\u003ccode\u003ed232742\u003c/code\u003e\u003c/a\u003e Release v3.7.0 (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1595\"\u003e#1595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/0fb20e5732b50c1b8336bd952929185fe0528e25\"\u003e\u003ccode\u003e0fb20e5\u003c/code\u003e\u003c/a\u003e fix(draft-release): tighten window boundary + unique-PR count (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1597\"\u003e#1597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/e8bb50e26d754f5753b75a5b1b5f70be90ea1367\"\u003e\u003ccode\u003ee8bb50e\u003c/code\u003e\u003c/a\u003e docs(CLAUDE.md): canonical branch-creation pattern for Claude workflows (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1596\"\u003e#1596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/b8c2266f589dcbfe9f0ad04b3a4fc7491969c850\"\u003e\u003ccode\u003eb8c2266\u003c/code\u003e\u003c/a\u003e fix(draft-release): provision uv + Python in workflow (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1594\"\u003e#1594\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/392dfcea287c2348c9924f9578855fb1df065776\"\u003e\u003ccode\u003e392dfce\u003c/code\u003e\u003c/a\u003e feat: AI-drafted release flow (closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1167\"\u003e#1167\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1592\"\u003e#1592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/0cbf43792b4a1d8b1286faa13657ea57d2f2b062\"\u003e\u003ccode\u003e0cbf437\u003c/code\u003e\u003c/a\u003e chore(release): consolidate unreleased 3.6.1/3.7.0/3.7.1 into 3.7.0 (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1593\"\u003e#1593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/e332cd4727756da8db07e5a8bfc7ff71a0dc9def\"\u003e\u003ccode\u003ee332cd4\u003c/code\u003e\u003c/a\u003e fix: credential_process on Windows + Selector event loop (closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1415\"\u003e#1415\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1588\"\u003e#1588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/4d1dbadaa56133a75f1df0267d619ffe4b43ec3f\"\u003e\u003ccode\u003e4d1dbad\u003c/code\u003e\u003c/a\u003e Bump anthropics/claude-code-action from 1.0.105 to 1.0.111 (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1584\"\u003e#1584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/bc3c5b5827fd8a8f3d3e89589c5abae67ef42584\"\u003e\u003ccode\u003ebc3c5b5\u003c/code\u003e\u003c/a\u003e Support warm-up of loader caches (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/804cf28a6f92e9c5fe66d12e02d68783e94b6f02\"\u003e\u003ccode\u003e804cf28\u003c/code\u003e\u003c/a\u003e Bump pre-commit from 4.5.1 to 4.6.0 (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1586\"\u003e#1586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aio-libs/aiobotocore/compare/3.6.0...3.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gcsfs` from 2026.4.0 to 2026.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fsspec/gcsfs/releases\"\u003egcsfs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2026.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix zonal documentation about finalized objects by \u003ca href=\"https://github.com/Mahalaxmibejugam\"\u003e\u003ccode\u003e@​Mahalaxmibejugam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/828\"\u003efsspec/gcsfs#828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable branch wise tracking by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/819\"\u003efsspec/gcsfs#819\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: adjust fsspec dependency version constraint by \u003ca href=\"https://github.com/zhixiangli\"\u003e\u003ccode\u003e@​zhixiangli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/834\"\u003efsspec/gcsfs#834\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for partial prefixes in find method for HNS buckets by \u003ca href=\"https://github.com/Mahalaxmibejugam\"\u003e\u003ccode\u003e@​Mahalaxmibejugam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/831\"\u003efsspec/gcsfs#831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workflow to automate PyPI package publishing on release by \u003ca href=\"https://github.com/Yonghui-Lee\"\u003e\u003ccode\u003e@​Yonghui-Lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/824\"\u003efsspec/gcsfs#824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix HttpError message formatting and handle None content in validate_response by \u003ca href=\"https://github.com/zhixiangli\"\u003e\u003ccode\u003e@​zhixiangli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/835\"\u003efsspec/gcsfs#835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntegrate prefetcher engine with zonal buckets by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/805\"\u003efsspec/gcsfs#805\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the benchmark config, and fix the block size propogation by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/808\"\u003efsspec/gcsfs#808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd pypi environment to release workflow by \u003ca href=\"https://github.com/Yonghui-Lee\"\u003e\u003ccode\u003e@​Yonghui-Lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/836\"\u003efsspec/gcsfs#836\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2026.4.0...2026.5.0\"\u003ehttps://github.com/fsspec/gcsfs/compare/2026.4.0...2026.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/255e4f866ae2c66dbca14a0aaa3dea024156997f\"\u003e\u003ccode\u003e255e4f8\u003c/code\u003e\u003c/a\u003e Add pypi environment to release workflow (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/836\"\u003e#836\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/2fa8b5a1c9d973e028a1939495cd640be923ed5d\"\u003e\u003ccode\u003e2fa8b5a\u003c/code\u003e\u003c/a\u003e Update the benchmark config, and fix the block size propogation (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/37b7f1a7a6be20ce71ae1d5db60143cee46519c5\"\u003e\u003ccode\u003e37b7f1a\u003c/code\u003e\u003c/a\u003e Integrate prefetcher engine with zonal buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/805\"\u003e#805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b2af5b89fb1e39616d23725e95ec7292b10529cc\"\u003e\u003ccode\u003eb2af5b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/835\"\u003e#835\u003c/a\u003e from zhixiangli/fix-httperror-content-none\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b89bb899afcc753e40a6f29681c7764b77cbc661\"\u003e\u003ccode\u003eb89bb89\u003c/code\u003e\u003c/a\u003e Add workflow to automate PyPI package publishing on release (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/824\"\u003e#824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14bb32a4b7ac1398d044e2b426441c2593b92196\"\u003e\u003ccode\u003e14bb32a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/831\"\u003e#831\u003c/a\u003e from ankitaluthra1/fix-find-partial-prefixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/820c0418861219b1e578736e5b18449e9ddebfb5\"\u003e\u003ccode\u003e820c041\u003c/code\u003e\u003c/a\u003e fix: adjust fsspec dependency version constraint (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/834\"\u003e#834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/005cc2e478a8e9107164c21d1e2e5549cc287103\"\u003e\u003ccode\u003e005cc2e\u003c/code\u003e\u003c/a\u003e add more coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c54372993806e4c0e1a05107ffd08acbe41b0b1c\"\u003e\u003ccode\u003ec543729\u003c/code\u003e\u003c/a\u003e fix issue with special characters in rm method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/5cb0d32633f32dfd2fa15667e55127244a5b6a08\"\u003e\u003ccode\u003e5cb0d32\u003c/code\u003e\u003c/a\u003e Enable branch wise tracking (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2026.4.0...2026.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.11.8 to 3.11.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.9\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.95 or later instead of 1.89.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix building on Rust 1.95.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.9 - 2026-05-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.95 or later instead of 1.89.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix building on Rust 1.95.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/705515d77b28429d0b7c30c3d781abe52e8a1e5a\"\u003e\u003ccode\u003e705515d\u003c/code\u003e\u003c/a\u003e 3.11.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d19055d5bab432f98d53b71606a9c6c23fb21bf6\"\u003e\u003ccode\u003ed19055d\u003c/code\u003e\u003c/a\u003e build update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/77e2d96c3febe099cde2447856fe2523d68c71b0\"\u003e\u003ccode\u003e77e2d96\u003c/code\u003e\u003c/a\u003e MSRV 1.95, remove compiler feature detection\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.8...3.11.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epandas 3.0.3\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.3.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.3.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\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/pandas-dev/pandas/commit/72f2fea91530b5abb3cf2100cb22d84e504695c0\"\u003e\u003ccode\u003e72f2fea\u003c/code\u003e\u003c/a\u003e RLS: 3.0.3 (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65590\"\u003e#65590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2897590094c2b6e3962d01a82665936f30be563d\"\u003e\u003ccode\u003e2897590\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65436\"\u003e#65436\u003c/a\u003e on branch 3.0.x (Account for privatization of matplotlib `...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/49894b5b6037c50f6444504070d9b1e8e514001a\"\u003e\u003ccode\u003e49894b5\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65499\"\u003e#65499\u003c/a\u003e on branch 3.0.x (BUG: fix check if pyarrow is installed in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/1c6d1e30cc4b80bedb769a8b3731b0788f69c9dc\"\u003e\u003ccode\u003e1c6d1e3\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] PERF: remove special casing for zoneinfo in tz_localize_to_u...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2a547116afc46d88d4e6584670fd793949222a1e\"\u003e\u003ccode\u003e2a54711\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64379\"\u003e#64379\u003c/a\u003e on branch 3.0.x (PERF: improve performance with ZoneInfo t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/036bb7c0e7160b9d5a7f6bd26a9fc00921fa6977\"\u003e\u003ccode\u003e036bb7c\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65482\"\u003e#65482\u003c/a\u003e on branch 3.0.x (PERF: don't call unique on dtypes for che...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bf4c182b09251f5b469e8e246ae3ea3e1ae07164\"\u003e\u003ccode\u003ebf4c182\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65410\"\u003e#65410\u003c/a\u003e on branch 3.0.x (TST: also convert str index to object in ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/dd02d75ce219135f9f3f65c13644d4be35585d42\"\u003e\u003ccode\u003edd02d75\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: keep fsspec OpenFile alive for chained URL reads (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/6547\"\u003e#6547\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/aef3d0f6698667262c6d6ffc69180b280b0fa86a\"\u003e\u003ccode\u003eaef3d0f\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] CI: lowercase types-pymysql/types-pyyaml to fix mamba 2.6.0 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bb8e24876273a14322047f4b89e648f6a4abebae\"\u003e\u003ccode\u003ebb8e248\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65399\"\u003e#65399\u003c/a\u003e on branch 3.0.x (DOC: fix source link for classes in the r...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ujson` from 5.12.0 to 5.12.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ultrajson/ultrajson/releases\"\u003eujson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.12.1\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix encoding ref leak with non-English character (\u003ca href=\"https://redirect.github.com/ultrajson/ultrajson/issues/714\"\u003e#714\u003c/a\u003e) \u003ca href=\"https://github.com/nhancdt2602\"\u003e\u003ccode\u003e@​nhancdt2602\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix memory leak when \u003ccode\u003eujson.dump()\u003c/code\u003e is unable to write to its file (0bf630aaef59c0aafd0c8a4fc8bbe2a7bcefa853) \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eNote that pre-built wheels for graalpy on macOS have been omitted from this release due to infrastructural issues building them (\u003ca href=\"https://redirect.github.com/ultrajson/ultrajson/issues/731\"\u003e#731\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/ultrajson/ultrajson/commit/7d9036f4896256ac772fdb45d27d45463efe59cb\"\u003e\u003ccode\u003e7d9036f\u003c/code\u003e\u003c/a\u003e Temporarily disable pre-built wheels for graalpy on macOS (\u003ca href=\"https://redirect.github.com/ultrajson/ultrajson/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/0bf630aaef59c0aafd0c8a4fc8bbe2a7bcefa853\"\u003e\u003ccode\u003e0bf630a\u003c/code\u003e\u003c/a\u003e Temporarily disable pre-built wheels for graalpy on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/46f75969b18e1d37da3ad0fbb1954d146e072c5d\"\u003e\u003ccode\u003e46f7596\u003c/code\u003e\u003c/a\u003e Enable read access for CI/CD\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/82af1d0ac01d09aa40c887b460d44b9d9f4bccd9\"\u003e\u003ccode\u003e82af1d0\u003c/code\u003e\u003c/a\u003e Fix failure cleanup paths in ujson.dump()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/ceae6cd09dd1c29e747fa4041febcd4fdfd33c0a\"\u003e\u003ccode\u003eceae6cd\u003c/code\u003e\u003c/a\u003e Gitignore .fuse_hidden and .DS_Store files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/dd87ed388816eb5a02bc6f752c27cda5df5c1aa1\"\u003e\u003ccode\u003edd87ed3\u003c/code\u003e\u003c/a\u003e Improve unit test coverage (\u003ca href=\"https://redirect.github.com/ultrajson/ultrajson/issues/718\"\u003e#718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/ddbe2da83bd7fe9940eec1766bd75e21e76bc7d7\"\u003e\u003ccode\u003eddbe2da\u003c/code\u003e\u003c/a\u003e Update release-drafter/release-drafter action to v7.2.1 (\u003ca href=\"https://redirect.github.com/ultrajson/ultrajson/issues/717\"\u003e#717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/3be5ae59f5548ec9a1fef56bfa2a005cfa5c6c09\"\u003e\u003ccode\u003e3be5ae5\u003c/code\u003e\u003c/a\u003e Update release-drafter/release-drafter action to v7.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/9f90a8c797a20c19a80b78d340ac4251626c7494\"\u003e\u003ccode\u003e9f90a8c\u003c/code\u003e\u003c/a\u003e Fix encoding ref leak with non-English character (\u003ca href=\"https://redirect.github.com/ultrajson/ultrajson/issues/714\"\u003e#714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/f1574e57b8a31efaa9b1bfa530c672bc1fe3536d\"\u003e\u003ccode\u003ef1574e5\u003c/code\u003e\u003c/a\u003e Hash pin GitHub Actions (\u003ca href=\"https://redirect.github.com/ultrajson/ultrajson/issues/715\"\u003e#715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ultrajson/ultrajson/compare/5.12.0...5.12.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zarr` from 3.2.0 to 3.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zarr-developers/zarr-python/releases\"\u003ezarr's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat:metadata package by \u003ca href=\"https://github.com/d-v-b\"\u003e\u003ccode\u003e@​d-v-b\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/pull/3919\"\u003ezarr-developers/zarr-python#3919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: CastValue wrap validation bug  by \u003ca href=\"https://github.com/d-v-b\"\u003e\u003ccode\u003e@​d-v-b\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/pull/3938\"\u003ezarr-developers/zarr-python#3938\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use contextual arrayspec when validating / evolving codecs by \u003ca href=\"https://github.com/d-v-b\"\u003e\u003ccode\u003e@​d-v-b\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/pull/3941\"\u003ezarr-developers/zarr-python#3941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: defer to fsspec for memory url scheme by \u003ca href=\"https://github.com/d-v-b\"\u003e\u003ccode\u003e@​d-v-b\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/pull/3944\"\u003ezarr-developers/zarr-python#3944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease : 3.2.1 release notes by \u003ca href=\"https://github.com/d-v-b\"\u003e\u003ccode\u003e@​d-v-b\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/pull/3942\"\u003ezarr-developers/zarr-python#3942\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/zarr-developers/zarr-python/compare/v3.2.0...v3.2.1\"\u003ehttps://github.com/zarr-developers/zarr-python/compare/v3.2.0...v3.2.1\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/zarr-developers/zarr-python/blob/main/docs/release-notes.md\"\u003ezarr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.1 (2026-05-05)\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a \u003ccode\u003eCastValue\u003c/code\u003e validation bug where the \u0026quot;can we use an out-of-range mode\u0026quot; check\ninspected the source dtype instead of the target dtype. This meant arrays with a\nfloat source dtype and an integer target dtype incorrectly raised a \u003ccode\u003eValueError\u003c/code\u003e\nwhen configured with a \u003ccode\u003ewrap\u003c/code\u003e out-of-range mode. (\u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/issues/3938\"\u003e#3938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a bug where the codec pipeline evolved each codec against the original\narray spec instead of the spec produced by upstream array-to-array codecs. This\ncaused failures whenever an upstream codec changed the dtype between codec\nboundaries — e.g. arrays using \u003ccode\u003eCastValue\u003c/code\u003e to convert a single-byte source dtype\n(\u003ccode\u003eint8\u003c/code\u003e) to a multi-byte target dtype (\u003ccode\u003eint16\u003c/code\u003e) raised a \u003ccode\u003eValueError\u003c/code\u003e from\n\u003ccode\u003eBytesCodec\u003c/code\u003e about a missing \u003ccode\u003eendian\u003c/code\u003e configuration. (\u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/issues/3941\"\u003e#3941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed breakage in existing fsspec-dependent workflows caused by associating the \u0026quot;memory\u0026quot; URL scheme with\ninstances of \u003ccode\u003eManagedMemoryStore\u003c/code\u003e instead of fsspec's memory-backed store. After this change, store URLs with a \u0026quot;memory\u0026quot; scheme are handled differently when \u003ccode\u003efsspec\u003c/code\u003e is installed:\nwith \u003ccode\u003efsspec\u003c/code\u003e, a \u003ccode\u003eFsspecStore\u003c/code\u003e backed by a \u003ccode\u003eMemoryFileSystem\u003c/code\u003e is used. Without \u003ccode\u003efsspec\u003c/code\u003e,\na \u003ccode\u003eManagedMemoryStore\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/issues/3944\"\u003e#3944\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/zarr-developers/zarr-python/commit/85890b3bb404fd1d401267c508a2694f5734559e\"\u003e\u003ccode\u003e85890b3\u003c/code\u003e\u003c/a\u003e release : 3.2.1 release notes (\u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/issues/3942\"\u003e#3942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zarr-developers/zarr-python/commit/37ae37b3f5b4c9c5f3577de7dab2f628ffa753f9\"\u003e\u003ccode\u003e37ae37b\u003c/code\u003e\u003c/a\u003e fix: defer to fsspec for memory url scheme (\u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/issues/3944\"\u003e#3944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zarr-developers/zarr-python/commit/021662c87acfd145f87f72fc340dd686d1b375ae\"\u003e\u003ccode\u003e021662c\u003c/code\u003e\u003c/a\u003e fix: use contextual arrayspec when validating / evolving codecs (\u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/issues/3941\"\u003e#3941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zarr-developers/zarr-python/commit/ad374b5e8e4a07947b8ca5d72d72887010a7e151\"\u003e\u003ccode\u003ead374b5\u003c/code\u003e\u003c/a\u003e cast_value data type validation was checking the source data type instead of ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zarr-developers/zarr-python/commit/f8c0c5d97b32f97c1bd231af27078b4efc7e2a1b\"\u003e\u003ccode\u003ef8c0c5d\u003c/code\u003e\u003c/a\u003e feat:metadata package (\u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/issues/3919\"\u003e#3919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/zarr-developers/zarr-python/compare/v3.2.0...v3.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `xarray-spatial` from 0.9.8 to 0.9.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/releases\"\u003exarray-spatial's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.9.9\u003c/h2\u003e\n\u003ch3\u003eVersion 0.9.9 - 2026-05-05\u003c/h3\u003e\n\u003ch4\u003eBug fixes and improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd geotiff edge-case tests and integer-coord fallback (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1482\"\u003e#1482\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1492\"\u003e#1492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse synchronous dask scheduler for different-CRS merge parity test (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1495\"\u003e#1495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFetch COG tiles concurrently in HTTP path to mask RTT (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1487\"\u003e#1487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeotiff polish: validation, caching caps, parallelism thresholds, memory guards (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1488\"\u003e#1488\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1493\"\u003e#1493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRound-trip transform, crs, and tag metadata through to_geotiff/open_geotiff (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1484\"\u003e#1484\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1494\"\u003e#1494\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTighten geotiff reader: partial-tile shape check, ModelTransformation rotation guard (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1486\"\u003e#1486\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1491\"\u003e#1491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd geotiff writer test matrix (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1483\"\u003e#1483\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1490\"\u003e#1490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStream tile writes per dask chunk segment to bound peak memory in to_geotiff (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1485\"\u003e#1485\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1489\"\u003e#1489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd regression test for GPU pred=3 multi-sample TIFFs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1479\"\u003e#1479\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake cubic resample prefilter explicit so chunk seams stay sub-eps (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1464\"\u003e#1464\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1478\"\u003e#1478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve input float dtype through resample() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1467\"\u003e#1467\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResample polish: fix cubic depth comment, tighten NaN threshold, add edge tests (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix dask aggregate boundary contamination and clean up bookkeeping (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1469\"\u003e#1469\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport 3D rasters, expose nodata, document target_resolution tuple in resample (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1466\"\u003e#1466\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCover cupy median/mode, dask+cupy, integer input, target_resolution tuple in resample tests (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1470\"\u003e#1470\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefresh transform and nodata attrs on resample output (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1465\"\u003e#1465\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInline dask aggregate kernel in resample (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1463\"\u003e#1463\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit fresh grid metadata and propagate _FillValue in reproject (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1458\"\u003e#1458\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePolish reproject/merge docstrings and cover Inf and parameter edge cases (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1459\"\u003e#1459\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBatch CuPy reductions and drop redundant copies in reproject (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd transform_precision parameter to merge() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1452\"\u003e#1452\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1456\"\u003e#1456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve non-spatial coords through reproject() and merge() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard _apply_vertical_shift against non-finite coords; add vertical CRS tests (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHonor per-raster nodata sentinels in merge() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1448\"\u003e#1448\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve input attrs through reproject() and merge() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix dask reproject dtype and same-CRS dask merge (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate raster inputs in reproject public APIs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1431\"\u003e#1431\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd memory guard and scalar validation to generate_terrain (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1443\"\u003e#1443\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate scalar parameters in hydro public APIs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1427\"\u003e#1427\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate mannings_n DataArray values in flood (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1437\"\u003e#1437\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1438\"\u003e#1438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd _validate_raster on secondary DataArray args in hydro (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1425\"\u003e#1425\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate grid/bounds/precision params in reproject (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1433\"\u003e#1433\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1434\"\u003e#1434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate cellsize in hydro public APIs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1429\"\u003e#1429\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1430\"\u003e#1430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate pathfinding inputs and cap waypoints (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1439\"\u003e#1439\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate raster/mask inputs in polygonize (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1441\"\u003e#1441\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd memory guard to flow_direction_mfd numpy/cupy backends (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1423\"\u003e#1423\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1424\"\u003e#1424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject NaN/Inf in reproject scalar inputs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1435\"\u003e#1435\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1436\"\u003e#1436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLazy assembly for hand_mfd dask path (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1416\"\u003e#1416\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1417\"\u003e#1417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn NaN from glcm_texture angle=None when no angle has valid pairs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1408\"\u003e#1408\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse ground distance for sky_view_factor horizon angle (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1407\"\u003e#1407\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1410\"\u003e#1410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExclude centre cell from morph_erode/dilate when kernel[centre]==0 (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1397\"\u003e#1397\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1398\"\u003e#1398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse sized slice in dask morph chunk writeback (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1399\"\u003e#1399\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1400\"\u003e#1400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMerge sink_d8 labels across dask tile boundaries (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1394\"\u003e#1394\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1395\"\u003e#1395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject complex dtypes in _validate_raster() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1384\"\u003e#1384\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1387\"\u003e#1387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject underflowing sigma_spatial in bilateral() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1390\"\u003e#1390\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1392\"\u003e#1392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse int64 row_ptr in _build_row_csr_numba (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1388\"\u003e#1388\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1391\"\u003e#1391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/blob/main/CHANGELOG.md\"\u003exarray-spatial's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eVersion 0.9.9 - 2026-05-05\u003c/h3\u003e\n\u003ch4\u003eBug fixes and improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd geotiff edge-case tests and integer-coord fallback (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1482\"\u003e#1482\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1492\"\u003e#1492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse synchronous dask scheduler for different-CRS merge parity test (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1495\"\u003e#1495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFetch COG tiles concurrently in HTTP path to mask RTT (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1487\"\u003e#1487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeotiff polish: validation, caching caps, parallelism thresholds, memory guards (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1488\"\u003e#1488\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1493\"\u003e#1493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRound-trip transform, crs, and tag metadata through to_geotiff/open_geotiff (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1484\"\u003e#1484\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1494\"\u003e#1494\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTighten geotiff reader: partial-tile shape check, ModelTransformation rotation guard (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1486\"\u003e#1486\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1491\"\u003e#1491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd geotiff writer test matrix (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1483\"\u003e#1483\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1490\"\u003e#1490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStream tile writes per dask chunk segment to bound peak memory in to_geotiff (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1485\"\u003e#1485\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1489\"\u003e#1489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd regression test for GPU pred=3 multi-sample TIFFs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1479\"\u003e#1479\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake cubic resample prefilter explicit so chunk seams stay sub-eps (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1464\"\u003e#1464\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1478\"\u003e#1478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve input float dtype through resample() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1467\"\u003e#1467\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResample polish: fix cubic depth comment, tighten NaN threshold, add edge tests (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix dask aggregate boundary contamination and clean up bookkeeping (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1469\"\u003e#1469\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport 3D rasters, expose nodata, document target_resolution tuple in resample (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1466\"\u003e#1466\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCover cupy median/mode, dask+cupy, integer input, target_resolution tuple in resample tests (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1470\"\u003e#1470\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefresh transform and nodata attrs on resample output (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1465\"\u003e#1465\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInline dask aggregate kernel in resample (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1463\"\u003e#1463\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit fresh grid metadata and propagate _FillValue in reproject (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1458\"\u003e#1458\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePolish reproject/merge docstrings and cover Inf and parameter edge cases (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1459\"\u003e#1459\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBatch CuPy reductions and drop redundant copies in reproject (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd transform_precision parameter to merge() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1452\"\u003e#1452\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1456\"\u003e#1456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve non-spatial coords through reproject() and merge() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard _apply_vertical_shift against non-finite coords; add vertical CRS tests (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHonor per-raster nodata sentinels in merge() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1448\"\u003e#1448\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve input attrs through reproject() and merge() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix dask reproject dtype and same-CRS dask merge (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate raster inputs in reproject public APIs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1431\"\u003e#1431\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd memory guard and scalar validation to generate_terrain (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1443\"\u003e#1443\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate scalar parameters in hydro public APIs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1427\"\u003e#1427\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate mannings_n DataArray values in flood (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1437\"\u003e#1437\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1438\"\u003e#1438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd _validate_raster on secondary DataArray args in hydro (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1425\"\u003e#1425\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate grid/bounds/precision params in reproject (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1433\"\u003e#1433\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1434\"\u003e#1434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate cellsize in hydro public APIs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1429\"\u003e#1429\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1430\"\u003e#1430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate pathfinding inputs and cap waypoints (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1439\"\u003e#1439\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate raster/mask inputs in polygonize (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1441\"\u003e#1441\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd memory guard to flow_direction_mfd numpy/cupy backends (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1423\"\u003e#1423\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1424\"\u003e#1424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject NaN/Inf in reproject scalar inputs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1435\"\u003e#1435\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1436\"\u003e#1436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLazy assembly for hand_mfd dask path (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1416\"\u003e#1416\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1417\"\u003e#1417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn NaN from glcm_texture angle=None when no angle has valid pairs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1408\"\u003e#1408\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse ground distance for sky_view_factor horizon angle (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1407\"\u003e#1407\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1410\"\u003e#1410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExclude centre cell from morph_erode/dilate when kernel[centre]==0 (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1397\"\u003e#1397\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1398\"\u003e#1398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse sized slice in dask morph chunk writeback (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1399\"\u003e#1399\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1400\"\u003e#1400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMerge sink_d8 labels across dask tile boundaries (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1394\"\u003e#1394\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1395\"\u003e#1395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject complex dtypes in _validate_raster() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1384\"\u003e#1384\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1387\"\u003e#1387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject underflowing sigma_spatial in bilateral() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1390\"\u003e#1390\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1392\"\u003e#1392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse int64 row_ptr in _build_row_csr_numba (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1388\"\u003e#1388\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1391\"\u003e#1391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject mixed-backend arrays in validate_arrays() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1383\"\u003e#1383\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1386\"\u003e#1386\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/xarray-contrib/xarray-spatial/commit/f42106bb3ecd4b5754bbaff4c43f044b6afb0f8c\"\u003e\u003ccode\u003ef42106b\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for v0.9.9 release (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/6ece00dbc73efb1268f62ac0f1c681b3a7a58a16\"\u003e\u003ccode\u003e6ece00d\u003c/code\u003e\u003c/a\u003e Add geotiff edge-case tests and integer-coord fallback (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1482\"\u003e#1482\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1492\"\u003e#1492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/aa0d2644cb2da160005c2ad6f92cfcff7f596412\"\u003e\u003ccode\u003eaa0d264\u003c/code\u003e\u003c/a\u003e Use synchronous dask scheduler for different-CRS merge parity test (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1495\"\u003e#1495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/4943df96be98e5b256885a5a49dd732012d9b77a\"\u003e\u003ccode\u003e4943df9\u003c/code\u003e\u003c/a\u003e Fetch COG tiles concurrently in HTTP path to mask RTT (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1487\"\u003e#1487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/6cd69f1fef0e624d04047d9ecde8edaa690052da\"\u003e\u003ccode\u003e6cd69f1\u003c/code\u003e\u003c/a\u003e Geotiff polish: validation, caching caps, parallelism thresholds, memory guar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/69b873a382d8bcb2e1ede4622db28864ebbfb283\"\u003e\u003ccode\u003e69b873a\u003c/code\u003e\u003c/a\u003e Round-trip transform, crs, and tag metadata through to_geotiff/open_geotiff (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/a70a7737acb956c6ce6d484aea9cd93ddfafc34c\"\u003e\u003ccode\u003ea70a773\u003c/code\u003e\u003c/a\u003e Tighten geotiff reader: partial-tile shape check, ModelTransformation rotatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/e2539005867d0cd8fcff2cd96e15a61c5e0c774f\"\u003e\u003ccode\u003ee253900\u003c/code\u003e\u003c/a\u003e Add geotiff writer test matrix (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1483\"\u003e#1483\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1490\"\u003e#1490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/5ac78a729d077bf51fe43dd7f832e21dd44f7472\"\u003e\u003ccode\u003e5ac78a7\u003c/code\u003e\u003c/a\u003e Stream tile writes per dask chunk segment to bound peak memory in to_geotiff ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/d9a3157fb4b22c64b43885d6cfb39aeb8a94b82e\"\u003e\u003ccode\u003ed9a3157\u003c/code\u003e\u003c/a\u003e Add regression test for GPU pred=3 multi-sample TIFFs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1479\"\u003e#1479\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/compare/v0.9.8...v0.9.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Pirate-Weather/pirate-weather-code/pull/618","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pirate-Weather%2Fpirate-weather-code/issues/618","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/618/packages"},{"uuid":"4092363377","node_id":"PR_kwDOQ54Gg87LZ5jo","number":10,"state":"closed","title":"Bump the uv-dependencies group across 1 directory with 17 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-01T02:51:07.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-18T02:50:17.000Z","updated_at":"2026-04-01T02:51:08.000Z","time_to_close":1209650,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"uv-dependencies","update_count":17,"packages":[{"name":"google-adk","old_version":"1.21.0","new_version":"1.26.0","repository_url":"https://github.com/google/adk-python"},{"name":"opentelemetry-instrumentation-google-genai","old_version":"0.5b0","new_version":"0.7b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"gcsfs","old_version":"2025.12.0","new_version":"2026.2.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"google-cloud-logging","old_version":"3.13.0","new_version":"3.14.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"pydantic-settings","old_version":"2.12.0","new_version":"2.13.1","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"pytest-asyncio","old_version":"0.26.0","new_version":"1.3.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"build","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pypa/build"},{"name":"debugpy","old_version":"1.8.19","new_version":"1.8.20","repository_url":"https://github.com/microsoft/debugpy"},{"name":"greenlet","old_version":"3.3.0","new_version":"3.3.2","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"poethepoet","old_version":"0.40.0","new_version":"0.42.1","repository_url":"https://github.com/nat-n/poethepoet"},{"name":"pyright","old_version":"1.1.407","new_version":"1.1.408","repository_url":"https://github.com/RobertCraigie/pyright-python"},{"name":"ruff","old_version":"0.14.10","new_version":"0.15.5","repository_url":"https://github.com/astral-sh/ruff"},{"name":"tombi","old_version":"0.7.14","new_version":"0.9.4","repository_url":"https://github.com/tombi-toml/tombi"},{"name":"uv","old_version":"0.9.21","new_version":"0.10.9","repository_url":"https://github.com/astral-sh/uv"},{"name":"wemake-python-styleguide","old_version":"1.5.0","new_version":"1.6.1","repository_url":"https://github.com/wemake-services/wemake-python-styleguide"},{"name":"codespell","old_version":"2.4.1","new_version":"2.4.2","repository_url":"https://github.com/codespell-project/codespell"},{"name":"types-requests","old_version":"2.32.4.20250913","new_version":"2.32.4.20260107","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv-dependencies group with 17 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [google-adk](https://github.com/google/adk-python) | `1.21.0` | `1.26.0` |\n| [opentelemetry-instrumentation-google-genai](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.5b0` | `0.7b0` |\n| [gcsfs](https://github.com/fsspec/gcsfs) | `2025.12.0` | `2026.2.0` |\n| [google-cloud-logging](https://github.com/googleapis/google-cloud-python) | `3.13.0` | `3.14.0` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.12.0` | `2.13.1` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `0.26.0` | `1.3.0` |\n| [build](https://github.com/pypa/build) | `1.3.0` | `1.4.0` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.19` | `1.8.20` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.3.0` | `3.3.2` |\n| [poethepoet](https://github.com/nat-n/poethepoet) | `0.40.0` | `0.42.1` |\n| [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.407` | `1.1.408` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.10` | `0.15.5` |\n| [tombi](https://github.com/tombi-toml/tombi) | `0.7.14` | `0.9.4` |\n| [uv](https://github.com/astral-sh/uv) | `0.9.21` | `0.10.9` |\n| [wemake-python-styleguide](https://github.com/wemake-services/wemake-python-styleguide) | `1.5.0` | `1.6.1` |\n| [codespell](https://github.com/codespell-project/codespell) | `2.4.1` | `2.4.2` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.4.20250913` | `2.32.4.20260107` |\n\n\nUpdates `google-adk` from 1.21.0 to 1.26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.26.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.25.1...v1.26.0\"\u003e1.26.0\u003c/a\u003e (2026-02-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd intra-invocation compaction and token compaction pre-request (\u003ca href=\"https://github.com/google/adk-python/commit/485fcb84e3ca351f83416c012edcafcec479c1db\"\u003e485fcb8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003e--memory_service_uri\u003c/code\u003e in ADK CLI run command (\u003ca href=\"https://github.com/google/adk-python/commit/a7b509763c1732f0363e90952bb4c2672572d542\"\u003ea7b5097\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e/chat/completions\u003c/code\u003e integration to \u003ccode\u003eApigeeLlm\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/9c4c44536904f5cf3301a5abb910a5666344a8c5\"\u003e9c4c445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e/chat/completions\u003c/code\u003e streaming support to Apigee LLM (\u003ca href=\"https://github.com/google/adk-python/commit/121d27741684685c564e484704ae949c5f0807b1\"\u003e121d277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand LiteLlm supported models and add registry tests (\u003ca href=\"https://github.com/google/adk-python/commit/d5332f44347f44d60360e14205a2342a0c990d66\"\u003ed5332f4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eload_skill_from_dir()\u003c/code\u003e method (\u003ca href=\"https://github.com/google/adk-python/commit/9f7d5b3f1476234e552b783415527cc4bac55b39\"\u003e9f7d5b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAgent Skills spec compliance — validation, aliases, scripts, and auto-injection (\u003ca href=\"https://github.com/google/adk-python/commit/223d9a7ff52d8da702f1f436bd22e94ad78bd5da\"\u003e223d9a7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBigQuery ADK support for search catalog tool (\u003ca href=\"https://github.com/google/adk-python/commit/bef3f117b4842ce62760328304484cd26a1ec30a\"\u003ebef3f11\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake skill instruction optimizable and can adapt to user tasks (\u003ca href=\"https://github.com/google/adk-python/commit/21be6adcb86722a585b26f600c45c85e593b4ee0\"\u003e21be6ad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass trace context in MCP tool call's \u003ccode\u003e_meta\u003c/code\u003e field with OpenTelemetry propagator (\u003ca href=\"https://github.com/google/adk-python/commit/bcbfeba953d46fca731b11542a00103cef374e57\"\u003ebcbfeba\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Evals]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce User Personas to the ADK evaluation framework (\u003ca href=\"https://github.com/google/adk-python/commit/6a808c60b38ad7140ddeb222887c6accc63edce9\"\u003e6a808c6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Services]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd generate/create modes for Vertex AI Memory Bank writes (\u003ca href=\"https://github.com/google/adk-python/commit/811e50a0cbb181d502b9837711431ef78fca3f34\"\u003e811e50a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for memory consolidation via Vertex AI Memory Bank (\u003ca href=\"https://github.com/google/adk-python/commit/4a88804ec7d17fb4031b238c362f27d240df0a13\"\u003e4a88804\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[A2A]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd interceptor framework to \u003ccode\u003eA2aAgentExecutor\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/87fcd77caa9672f219c12e5a0e2ff65cbbaaf6f3\"\u003e87fcd77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Auth]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd native support for \u003ccode\u003eid_token\u003c/code\u003e in OAuth2 credentials (\u003ca href=\"https://github.com/google/adk-python/commit/33f7d118b377b60f998c92944d2673679fddbc6e\"\u003e33f7d11\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport ID token exchange in \u003ccode\u003eServiceAccountCredentialExchanger\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/7be90db24b41f1830e39ca3d7e15bf4dbfa5a304\"\u003e7be90db\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/4458\"\u003e#4458\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Integrations]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAgent Registry in ADK (\u003ca href=\"https://github.com/google/adk-python/commit/abaa92944c4cd43d206e2986d405d4ee07d45afe\"\u003eabaa929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd schema auto-upgrade, tool provenance, HITL tracing, and span hierarchy fix to BigQuery Agent Analytics plugin (\u003ca href=\"https://github.com/google/adk-python/commit/4260ef0c7c37ecdfea295fb0e1a933bb0df78bea\"\u003e4260ef0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange default BigQuery table ID and update docstring (\u003ca href=\"https://github.com/google/adk-python/commit/7557a929398ec2a1f946500d906cef5a4f86b5d1\"\u003e7557a92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Agent Registry to create AgentCard from info in get agents endpoint (\u003ca href=\"https://github.com/google/adk-python/commit/c33d614004a47d1a74951dd13628fd2300aeb9ef\"\u003ec33d614\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable dependency injection for agent loader in FastAPI app gen (\u003ca href=\"https://github.com/google/adk-python/commit/34da2d5b26e82f96f1951334fe974a0444843720\"\u003e34da2d5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd OpenAI strict JSON schema enforcement in LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/2dbd1f25bdb1d88a6873d824b81b3dd5243332a4\"\u003e2dbd1f2\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/4573\"\u003e#4573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd push notification config store to agent_to_a2a (\u003ca href=\"https://github.com/google/adk-python/commit/4ca904f11113c4faa3e17bb4a9662dca1f936e2e\"\u003e4ca904f\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/4126\"\u003e#4126\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.25.1...v1.26.0\"\u003e1.26.0\u003c/a\u003e (2026-02-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd intra-invocation compaction and token compaction pre-request (\u003ca href=\"https://github.com/google/adk-python/commit/485fcb84e3ca351f83416c012edcafcec479c1db\"\u003e485fcb8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003e--memory_service_uri\u003c/code\u003e in ADK CLI run command (\u003ca href=\"https://github.com/google/adk-python/commit/a7b509763c1732f0363e90952bb4c2672572d542\"\u003ea7b5097\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e/chat/completions\u003c/code\u003e integration to \u003ccode\u003eApigeeLlm\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/9c4c44536904f5cf3301a5abb910a5666344a8c5\"\u003e9c4c445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e/chat/completions\u003c/code\u003e streaming support to Apigee LLM (\u003ca href=\"https://github.com/google/adk-python/commit/121d27741684685c564e484704ae949c5f0807b1\"\u003e121d277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand LiteLlm supported models and add registry tests (\u003ca href=\"https://github.com/google/adk-python/commit/d5332f44347f44d60360e14205a2342a0c990d66\"\u003ed5332f4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eload_skill_from_dir()\u003c/code\u003e method (\u003ca href=\"https://github.com/google/adk-python/commit/9f7d5b3f1476234e552b783415527cc4bac55b39\"\u003e9f7d5b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAgent Skills spec compliance — validation, aliases, scripts, and auto-injection (\u003ca href=\"https://github.com/google/adk-python/commit/223d9a7ff52d8da702f1f436bd22e94ad78bd5da\"\u003e223d9a7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBigQuery ADK support for search catalog tool (\u003ca href=\"https://github.com/google/adk-python/commit/bef3f117b4842ce62760328304484cd26a1ec30a\"\u003ebef3f11\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake skill instruction optimizable and can adapt to user tasks (\u003ca href=\"https://github.com/google/adk-python/commit/21be6adcb86722a585b26f600c45c85e593b4ee0\"\u003e21be6ad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass trace context in MCP tool call's \u003ccode\u003e_meta\u003c/code\u003e field with OpenTelemetry propagator (\u003ca href=\"https://github.com/google/adk-python/commit/bcbfeba953d46fca731b11542a00103cef374e57\"\u003ebcbfeba\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Evals]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce User Personas to the ADK evaluation framework (\u003ca href=\"https://github.com/google/adk-python/commit/6a808c60b38ad7140ddeb222887c6accc63edce9\"\u003e6a808c6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Services]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd generate/create modes for Vertex AI Memory Bank writes (\u003ca href=\"https://github.com/google/adk-python/commit/811e50a0cbb181d502b9837711431ef78fca3f34\"\u003e811e50a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for memory consolidation via Vertex AI Memory Bank (\u003ca href=\"https://github.com/google/adk-python/commit/4a88804ec7d17fb4031b238c362f27d240df0a13\"\u003e4a88804\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[A2A]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd interceptor framework to \u003ccode\u003eA2aAgentExecutor\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/87fcd77caa9672f219c12e5a0e2ff65cbbaaf6f3\"\u003e87fcd77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Auth]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd native support for \u003ccode\u003eid_token\u003c/code\u003e in OAuth2 credentials (\u003ca href=\"https://github.com/google/adk-python/commit/33f7d118b377b60f998c92944d2673679fddbc6e\"\u003e33f7d11\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport ID token exchange in \u003ccode\u003eServiceAccountCredentialExchanger\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/7be90db24b41f1830e39ca3d7e15bf4dbfa5a304\"\u003e7be90db\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/4458\"\u003e#4458\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Integrations]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAgent Registry in ADK (\u003ca href=\"https://github.com/google/adk-python/commit/abaa92944c4cd43d206e2986d405d4ee07d45afe\"\u003eabaa929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd schema auto-upgrade, tool provenance, HITL tracing, and span hierarchy fix to BigQuery Agent Analytics plugin (\u003ca href=\"https://github.com/google/adk-python/commit/4260ef0c7c37ecdfea295fb0e1a933bb0df78bea\"\u003e4260ef0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange default BigQuery table ID and update docstring (\u003ca href=\"https://github.com/google/adk-python/commit/7557a929398ec2a1f946500d906cef5a4f86b5d1\"\u003e7557a92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Agent Registry to create AgentCard from info in get agents endpoint (\u003ca href=\"https://github.com/google/adk-python/commit/c33d614004a47d1a74951dd13628fd2300aeb9ef\"\u003ec33d614\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable dependency injection for agent loader in FastAPI app gen (\u003ca href=\"https://github.com/google/adk-python/commit/34da2d5b26e82f96f1951334fe974a0444843720\"\u003e34da2d5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd OpenAI strict JSON schema enforcement in LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/2dbd1f25bdb1d88a6873d824b81b3dd5243332a4\"\u003e2dbd1f2\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/4573\"\u003e#4573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd push notification config store to agent_to_a2a (\u003ca href=\"https://github.com/google/adk-python/commit/4ca904f11113c4faa3e17bb4a9662dca1f936e2e\"\u003e4ca904f\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/4126\"\u003e#4126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for injecting a custom google.genai.Client into Gemini models (\u003ca href=\"https://github.com/google/adk-python/commit/48105b49c5ab8e4719a66e7219f731b2cd293b00\"\u003e48105b4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2560\"\u003e#2560\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/google/adk-python/commit/427a983b18088bdc22272d02714393b0a779ecdf\"\u003e\u003ccode\u003e427a983\u003c/code\u003e\u003c/a\u003e chore: update last-release-sha for next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/934289ab88d63e875118ff85cc640e8597385625\"\u003e\u003ccode\u003e934289a\u003c/code\u003e\u003c/a\u003e chore(release/candidate): release 1.26.0 (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/4610\"\u003e#4610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/ab32f33e7418d452e65cf6f5b6cbfe1371600323\"\u003e\u003ccode\u003eab32f33\u003c/code\u003e\u003c/a\u003e fix: Validate session before streaming instead of eagerly advancing the runne...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/40ec1343c2708e1cf0d39cd8b8a96f3729f843de\"\u003e\u003ccode\u003e40ec134\u003c/code\u003e\u003c/a\u003e fix: Re-export DEFAULT_SKILL_SYSTEM_INSTRUCTION to skills and skill/prompt.py...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8f5428150d18ed732b66379c0acb806a9121c3cb\"\u003e\u003ccode\u003e8f54281\u003c/code\u003e\u003c/a\u003e fix: Update sample skills agent to use weather-skill instead of weather_skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/121d27741684685c564e484704ae949c5f0807b1\"\u003e\u003ccode\u003e121d277\u003c/code\u003e\u003c/a\u003e feat: Add /chat/completions streaming support to Apigee LLM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/48105b49c5ab8e4719a66e7219f731b2cd293b00\"\u003e\u003ccode\u003e48105b4\u003c/code\u003e\u003c/a\u003e fix: Add support for injecting a custom google.genai.Client into Gemini models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/ee8d956413473d1bbbb025a470ad882c1487d8b8\"\u003e\u003ccode\u003eee8d956\u003c/code\u003e\u003c/a\u003e fix: Update agent_engine_sandbox_code_executor in ADK\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/7be90db24b41f1830e39ca3d7e15bf4dbfa5a304\"\u003e\u003ccode\u003e7be90db\u003c/code\u003e\u003c/a\u003e feat: Support ID token exchange in ServiceAccountCredentialExchanger\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/c615757ba12093ba4a2ba19bee3f498fef91584c\"\u003e\u003ccode\u003ec615757\u003c/code\u003e\u003c/a\u003e fix: Add support for injecting a custom google.genai.Client into Gemini models\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.21.0...v1.26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-google-genai` from 0.5b0 to 0.7b0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/releases\"\u003eopentelemetry-instrumentation-google-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopentelemetry-instrumentation-google-genai 0.7b0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug in how tokens are counted when using the streaming \u003ccode\u003egenerateContent\u003c/code\u003e method.  (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4152\"\u003e#4152\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egen_ai.tool.definitions\u003c/code\u003e attribute to \u003ccode\u003egen_ai.client.inference.operation.details\u003c/code\u003e log event (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4142\"\u003e#4142\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egen_ai.tool_definitions\u003c/code\u003e to completion hook (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4181\"\u003e#4181\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopentelemetry-instrumentation-google-genai 0.6b0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable the addition of custom attributes to the \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e span via the Context API. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3961\"\u003e#3961\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEnable the addition of custom attributes to \u003ccode\u003egen_ai.client.inference.operation.details\u003c/code\u003e log events (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4103\"\u003e#4103\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-google-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file.\u003c/p\u003e\n\u003cp\u003eThe format is based on \u003ca href=\"https://keepachangelog.com/en/1.0.0/\"\u003eKeep a Changelog\u003c/a\u003e,\nand this project adheres to \u003ca href=\"https://semver.org/spec/v2.0.0.html\"\u003eSemantic Versioning\u003c/a\u003e.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThe following components are released independently and maintain individual CHANGELOG files.\nUse \u003ca href=\"https://github.com/search?q=repo%3Aopen-telemetry%2Fopentelemetry-python-contrib+path%3A**%2FCHANGELOG.md\u0026amp;type=code\"\u003ethis search for a list of all CHANGELOG.md files in this repo\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eUnreleased\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-confluent-kafka\u003c/code\u003e: Loosen confluent-kafka upper bound to \u0026lt;3.0.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4289\"\u003e#4289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add support for wrapt 2.x\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-psycopg2\u003c/code\u003e: Add parameter \u003ccode\u003ecapture_parameters\u003c/code\u003e to instrumentor.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4212\"\u003e#4212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix intermittent \u003ccode\u003eCore Contrib Test\u003c/code\u003e CI failures caused by GitHub git CDN SHA propagation lag by installing core packages from the already-checked-out local copy instead of a second git clone\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4305\"\u003e#4305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't import module in unwrap if not already imported\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4321\"\u003e#4321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add recursion guard in LoggingHandler.emit to prevent deadlock\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4302\"\u003e#4302\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-boto\u003c/code\u003e: Remove instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4303\"\u003e#4303\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.40.0/0.61b0 (2026-03-04)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 3.14 support\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4193\"\u003e#4193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-asgi\u003c/code\u003e: Add exemplars for \u003ccode\u003ehttp.server.request.duration\u003c/code\u003e and \u003ccode\u003ehttp.server.duration\u003c/code\u003e metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3739\"\u003e#3739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-wsgi\u003c/code\u003e: Add exemplars for \u003ccode\u003ehttp.server.request.duration\u003c/code\u003e and \u003ccode\u003ehttp.server.duration\u003c/code\u003e metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3739\"\u003e#3739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-aiohttp-client\u003c/code\u003e: add ability to capture custom headers\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3988\"\u003e#3988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-requests\u003c/code\u003e: add ability to capture custom headers\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3987\"\u003e#3987\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gcsfs` from 2025.12.0 to 2026.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/427354db3d4833cc7623ce359c398610f6601219\"\u003e\u003ccode\u003e427354d\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/757\"\u003e#757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/6e4efb8ea553ee5d92b295bfe8a359f79b550358\"\u003e\u003ccode\u003e6e4efb8\u003c/code\u003e\u003c/a\u003e Remove cache_type option from ExtendedGCSFSFileSystem._open (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/754\"\u003e#754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9f20436237d8f9ffe3ae6ad7fe0181c23ad905d6\"\u003e\u003ccode\u003e9f20436\u003c/code\u003e\u003c/a\u003e Fix for recent breaking changes introduced in python sdk  (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/755\"\u003e#755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/98af30083031c22c7781934a8263f3b5b778fc64\"\u003e\u003ccode\u003e98af300\u003c/code\u003e\u003c/a\u003e Adds test coverage check in repo (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/68\"\u003e#68\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/752\"\u003e#752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/fcefacb3401f72cf5cc3ff4ae1392d7464c10a6e\"\u003e\u003ccode\u003efcefacb\u003c/code\u003e\u003c/a\u003e Add the new readahead_v2 cache (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/750\"\u003e#750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e0c0a9fe1c4190aaf71200eb9fa0958d74a267f7\"\u003e\u003ccode\u003ee0c0a9f\u003c/code\u003e\u003c/a\u003e rm override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/742\"\u003e#742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/73c37dcd4370591dca143851454ba7d13960371c\"\u003e\u003ccode\u003e73c37dc\u003c/code\u003e\u003c/a\u003e Ignore benchmark folders (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/748\"\u003e#748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/a586d0b70ca0400eca4164ea9962fe2bd30a2a73\"\u003e\u003ccode\u003ea586d0b\u003c/code\u003e\u003c/a\u003e adds info() integration tests for HNS (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/749\"\u003e#749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/57baa54db055dca11f061ce0c471c1fb18863ba8\"\u003e\u003ccode\u003e57baa54\u003c/code\u003e\u003c/a\u003e change errors to warning in ZonalFile commit (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/747\"\u003e#747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b43958088bf5ccfe5552e79cfe6f1f8570b848c3\"\u003e\u003ccode\u003eb439580\u003c/code\u003e\u003c/a\u003e find Method Implementation for HNS Buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/735\"\u003e#735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.12.0...2026.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-logging` from 3.13.0 to 3.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-logging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-logging: v3.14.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-logging-v3.13.0...google-cloud-logging-v3.14.0\"\u003ev3.14.0\u003c/a\u003e (2026-03-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport mTLS certificates when available (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/1071\"\u003e#1071\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c73e4390\"\u003ec73e4390\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/googleapis/google-cloud-python/commit/b3d80f4c303f7bb767a33324270d8b6b35eb68a6\"\u003e\u003ccode\u003eb3d80f4\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260305T222444Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/16038\"\u003e#16038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/22601c79a6c0d6c470d338245ee247e9320b733f\"\u003e\u003ccode\u003e22601c7\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260305T173911Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/16034\"\u003e#16034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4049c9b6d963fc1bb0083970373aee34d930d3dd\"\u003e\u003ccode\u003e4049c9b\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260305T181227Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/16036\"\u003e#16036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6120fb0db084f5e8d1502fb1bb37594ac9976f6e\"\u003e\u003ccode\u003e6120fb0\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260304T083838Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/16023\"\u003e#16023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4937235ef66c792cf7f3ecc8ab027c98c7a6f7e6\"\u003e\u003ccode\u003e4937235\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260304T223823Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/16025\"\u003e#16025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6876f64b10f05f42553858c009c9ce262cbda177\"\u003e\u003ccode\u003e6876f64\u003c/code\u003e\u003c/a\u003e chore: librarian onboard pull request: 20260304T233807Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/16026\"\u003e#16026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3ed2d6804bcacfdfd74e223d30492d90e606ea98\"\u003e\u003ccode\u003e3ed2d68\u003c/code\u003e\u003c/a\u003e fix: gracefully fallback if workload fields are missing from cert config (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/16\"\u003e#16\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/99fa08ec6230245597b06293004fb7b8dd8e598a\"\u003e\u003ccode\u003e99fa08e\u003c/code\u003e\u003c/a\u003e chore: add metadata for hypercomputecluster and change default to v1 (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/16021\"\u003e#16021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fc72e93e2b951dbc419937393d932a8e175fa2f9\"\u003e\u003ccode\u003efc72e93\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/google-auth-library-python int...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/23ad4c8cfe8031c4ab0e0800b400970132d2ef51\"\u003e\u003ccode\u003e23ad4c8\u003c/code\u003e\u003c/a\u003e tests: fix test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-logging-v3.13.0...google-cloud-logging-v3.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.12.0 to 2.13.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic-settings/releases\"\u003epydantic-settings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Deterministic alias selection when using validate_by_name by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/707\"\u003epydantic/pydantic-settings#707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deep merge functionality to config file sources by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for AWS Secrets Manager VersionId parameter by \u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: Return \u003ccode\u003eNone\u003c/code\u003e for inaccessible GCP Secret Manager secrets by \u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix for cli_kebab_case=\u0026quot;all\u0026quot; and CliImplicitFlag[bool] by \u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnpack type alisases when looking for \u003ccode\u003eNoDecode\u003c/code\u003e by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/695\"\u003epydantic/pydantic-settings#695\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCliToggleFlag and CliDualFlag by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/717\"\u003epydantic/pydantic-settings#717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for CLI duplicate enum field values. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/722\"\u003epydantic/pydantic-settings#722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixed load nested config from env by \u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd non-Path files support (for example Traversable) and open files using Path.open method by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd one more traversable test by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/725\"\u003epydantic/pydantic-settings#725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI fix fox external list args. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/727\"\u003epydantic/pydantic-settings#727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle case-insensitive retrieval in GoogleSecretManagerSettingsSource by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/730\"\u003epydantic/pydantic-settings#730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI test fixes for help text formatting. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/735\"\u003epydantic/pydantic-settings#735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid conflicts with the \u003ccode\u003eNAME\u003c/code\u003e environment variable in WSL by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: When restoring init kwargs, use deterministic order by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/746\"\u003epydantic/pydantic-settings#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd env_prefix_target by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/749\"\u003epydantic/pydantic-settings#749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e(default: …)\u003c/code\u003e in the help message for \u003ccode\u003eCliToggleFlag\u003c/code\u003e by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/740\"\u003epydantic/pydantic-settings#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for CLI serialize styles. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/755\"\u003epydantic/pydantic-settings#755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for overriding default help on CLI internal parser. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/758\"\u003epydantic/pydantic-settings#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI format_help method support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/759\"\u003epydantic/pydantic-settings#759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(gcp): support SecretVersion annotation for per-field secret versioning by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/763\"\u003epydantic/pydantic-settings#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003esnake_case_conversion\u003c/code\u003e with \u003ccode\u003eenv_prefix\u003c/code\u003e for Azure Key Vault source by \u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Only override preferred_key when no value was found by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/767\"\u003epydantic/pydantic-settings#767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/768\"\u003epydantic/pydantic-settings#768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI coerce numeric types. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/769\"\u003epydantic/pydantic-settings#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Union Discriminator Choices in Help by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/764\"\u003epydantic/pydantic-settings#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) by \u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.13.0 by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/777\"\u003epydantic/pydantic-settings#777\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/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/e87d12df0f42f7f72a3eb6d830cfbfb1d68b4496\"\u003e\u003ccode\u003ee87d12d\u003c/code\u003e\u003c/a\u003e v2.13.1 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/acf8c14f5ec314799f5bd0d3f6a1591c4ed2ec97\"\u003e\u003ccode\u003eacf8c14\u003c/code\u003e\u003c/a\u003e Fix JSON decoding for parameterized PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/58b236a36473e01bfe42e5f75d39d46721e0593d\"\u003e\u003ccode\u003e58b236a\u003c/code\u003e\u003c/a\u003e Fix AttributeError with nested env vars for dict fields (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/785\"\u003e#785\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/786\"\u003e#786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4933f06402ed55e32bcdcefd6c8f59ffe1fefd24\"\u003e\u003ccode\u003e4933f06\u003c/code\u003e\u003c/a\u003e Fix CLI parsing error for set field types since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/787\"\u003e#787\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/bd0ebe6215cf215d716e33d833cc2589a1d00a17\"\u003e\u003ccode\u003ebd0ebe6\u003c/code\u003e\u003c/a\u003e Fix RecursionError with self-referential models in CliApp (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/783\"\u003e#783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/eb7840e9f59a7969b23afdbcc4e5081e037736d8\"\u003e\u003ccode\u003eeb7840e\u003c/code\u003e\u003c/a\u003e Fix regression for bool fields since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/784\"\u003e#784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/198e71cf0cd570501535de7ae93a70953150f073\"\u003e\u003ccode\u003e198e71c\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/777\"\u003e#777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/de71e84057b63b251ec84883b5e2ae886f82084f\"\u003e\u003ccode\u003ede71e84\u003c/code\u003e\u003c/a\u003e Add nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/773\"\u003e#773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/0f8f951b89b137bd563ce74dac016ba2c4cdc7a2\"\u003e\u003ccode\u003e0f8f951\u003c/code\u003e\u003c/a\u003e CLI Union Discriminator Choices in Help (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/764\"\u003e#764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/ce9804c4620d38f0c3b3c1e3ebe10d934fd4ba2e\"\u003e\u003ccode\u003ece9804c\u003c/code\u003e\u003c/a\u003e CLI coerce numeric types. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/769\"\u003e#769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 0.26.0 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio 1.3.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.3.0\"\u003e1.3.0\u003c/a\u003e - 2025-11-10\u003c/h1\u003e\n\u003ch2\u003eRemoved\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1278\"\u003e#1278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for pytest 9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTested Python versions include free threaded Python 3.14t (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1274\"\u003e#1274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTests are run in the same pytest process, instead of spawning a subprocess with \u003ccode\u003epytest.Pytester.runpytest_subprocess\u003c/code\u003e. This prevents the test suite from accidentally using a system installation of pytest-asyncio, which could result in test errors. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1275\"\u003e#1275\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.2.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.2.0\"\u003e1.2.0\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e--asyncio-debug\u003c/code\u003e CLI option and \u003ccode\u003easyncio_debug\u003c/code\u003e configuration option to enable asyncio debug mode for the default event loop. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/980\"\u003e#980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003epytest.UsageError\u003c/code\u003e for invalid configuration values of \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e and \u003ccode\u003easyncio_default_test_loop_scope\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompatibility with the Pyright type checker (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRuntimeError: There is no current event loop in thread 'MainThread'\u003c/code\u003e when any test unsets the event loop (such as when using \u003ccode\u003easyncio.run\u003c/code\u003e and \u003ccode\u003easyncio.Runner\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1177\"\u003e#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecation warning when decorating an asynchronous fixture with \u003ccode\u003e@pytest.fixture\u003c/code\u003e in [strict]{.title-ref} mode. The warning message now refers to the correct package. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the minimum required version of tox to v4.28. This change is only relevant if you use the \u003ccode\u003etox.ini\u003c/code\u003e file provided by pytest-asyncio to run tests.\u003c/li\u003e\n\u003cli\u003eExtend dependency on typing-extensions\u0026gt;=4.12 from Python\u0026lt;3.10 to Python\u0026lt;3.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.1.1\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/v1.1.1\"\u003ev1.1.1\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cp\u003e- Addresses a build problem with setuptoos-scm \u0026gt;= 9 caused by invalid setuptools-scm configuration in pytest-asyncio. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1192\"\u003e#1192\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003epytest-asyncio 1.1.0\u003c/h2\u003e\n\u003ch1\u003eAdded\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePropagation of ContextVars from async fixtures to other fixtures and tests on Python 3.10 and older (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/127\"\u003e#127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCancellation of tasks when the \u003ccode\u003eloop_scope\u003c/code\u003e ends (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/200\"\u003e#200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarning when the current event loop is closed by a test\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixed\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/2e9695fcf8c5c514f30f57b7d14ab83846357b96\"\u003e\u003ccode\u003e2e9695f\u003c/code\u003e\u003c/a\u003e docs: Compile changelog for v1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/dd0e9ba3fa672fd6bf375004319742f8d3a50e12\"\u003e\u003ccode\u003edd0e9ba\u003c/code\u003e\u003c/a\u003e docs: Reference correct issue in news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4c31abe5bf46bca3c9bdc7b18405f3deba4145d0\"\u003e\u003ccode\u003e4c31abe\u003c/code\u003e\u003c/a\u003e Build(deps): Bump nh3 from 0.3.1 to 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/13e94770d7bb146c329ae0e02486c0a6b38f3772\"\u003e\u003ccode\u003e13e9477\u003c/code\u003e\u003c/a\u003e Link to migration guides from changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4d2cf3c36f47d7c4d563d401cdf229b35da34fbe\"\u003e\u003ccode\u003e4d2cf3c\u003c/code\u003e\u003c/a\u003e tests: handle Python 3.14 DefaultEventLoopPolicy deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ee3549b6efb729b934e370e2be8040b25b034010\"\u003e\u003ccode\u003eee3549b\u003c/code\u003e\u003c/a\u003e test: Remove obsolete test for the event_loop fixture.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7a67c82c5ae548f0968438e9dfa0f282d51c4597\"\u003e\u003ccode\u003e7a67c82\u003c/code\u003e\u003c/a\u003e tests: Fix failing test by preventing warning conversion to error.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a17b689a750d05b6fc9369f5fb2b06baaba83536\"\u003e\u003ccode\u003ea17b689\u003c/code\u003e\u003c/a\u003e test: add pytest config to isolated test directories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/18afc9df5a3153dc1fbdc4e11a56517ef95480df\"\u003e\u003ccode\u003e18afc9d\u003c/code\u003e\u003c/a\u003e fix(tests): replace runpytest_subprocess with runpytest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/cdc6bd1de75b4738289eafd546f5e27a0bfd3b41\"\u003e\u003ccode\u003ecdc6bd1\u003c/code\u003e\u003c/a\u003e Add support for pytest 9 and drop Python 3.9 support\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v0.26.0...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/releases\"\u003ebuild's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/940\"\u003e#940\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/943\"\u003e#943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1 (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/942\"\u003e#942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/950\"\u003e#950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/921\"\u003e#921\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/blob/main/CHANGELOG.rst\"\u003ebuild's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e###########\nChangelog\n###########\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e1.4.0 (2026-01-08)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag (:pr:\u003ccode\u003e947\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e (:pr:\u003ccode\u003e940\u003c/code\u003e, :pr:\u003ccode\u003e943\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable (:pr:\u003ccode\u003e971\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1 (:pr:\u003ccode\u003e960\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already (:pr:\u003ccode\u003e962\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review (:pr:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e (:pr:\u003ccode\u003e950\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy (:pr:\u003ccode\u003e944\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e (:pr:\u003ccode\u003e945\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name (PR :pr:\u003ccode\u003e970\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed (PR :pr:\u003ccode\u003e921\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e1.3.0 (2025-08-01)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--config-json\u003c/code\u003e (PR :pr:\u003ccode\u003e916\u003c/code\u003e, fixes issue :issue:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 (PR :pr:\u003ccode\u003e891\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eTest on Python 3.14, colorful help on 3.14+ (PR :pr:\u003ccode\u003e895\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eModuleNotFoundError\u003c/code\u003e when \u003ccode\u003epip\u003c/code\u003e is not installed (PR :pr:\u003ccode\u003e898\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDisable use of \u003ccode\u003epip install --python\u003c/code\u003e for debundled pip (PR :pr:\u003ccode\u003e861\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDon't pass no-wheel to virtualenv if it would warn (PR :pr:\u003ccode\u003e892\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize our tests to run faster (PR :pr:\u003ccode\u003e871\u003c/code\u003e, :pr:\u003ccode\u003e872\u003c/code\u003e, :pr:\u003ccode\u003e738\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAllow running our tests without virtualenv (PR :pr:\u003ccode\u003e911\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix issues in our tests (PR :pr:\u003ccode\u003e824\u003c/code\u003e, :pr:\u003ccode\u003e918\u003c/code\u003e, :pr:\u003ccode\u003e870\u003c/code\u003e, :pr:\u003ccode\u003e915\u003c/code\u003e, :pr:\u003ccode\u003e862\u003c/code\u003e, :pr:\u003ccode\u003e863\u003c/code\u003e, :pr:\u003ccode\u003e899\u003c/code\u003e, :pr:\u003ccode\u003e896\u003c/code\u003e,\n:pr:\u003ccode\u003e854\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse SPDX identifiers for our license metadata (PR :pr:\u003ccode\u003e914\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse dependency-groups for our development (PR :pr:\u003ccode\u003e880\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMention conda and update uv mention in README/docs (PR :pr:\u003ccode\u003e842\u003c/code\u003e, :pr:\u003ccode\u003e816\u003c/code\u003e, :pr:\u003ccode\u003e917\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e1.2.2 (2024-09-06)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eAdd editable to \u003ccode\u003ebuilder.get_requires_for_build\u003c/code\u003e's static types (PR :pr:\u003ccode\u003e764\u003c/code\u003e, fixes issue :issue:\u003ccode\u003e763\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eInclude artifact attestations in our release (PR :pr:\u003ccode\u003e782\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix typing compatibility with typed \u003ccode\u003epyproject-hooks\u003c/code\u003e (PR :pr:\u003ccode\u003e788\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMark more tests with \u003ccode\u003enetwork\u003c/code\u003e (PR :pr:\u003ccode\u003e808\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd more intersphinx links to docs (PR :pr:\u003ccode\u003e804\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003euv\u003c/code\u003e optional for tests (PR :pr:\u003ccode\u003e807\u003c/code\u003e and :pr:\u003ccode\u003e813\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/54f238d1664124e06a68c6c22fd5b1418fa5feb2\"\u003e\u003ccode\u003e54f238d\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.0 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/f219276a6e2c6c8222780ba518ce52444a91deaa\"\u003e\u003ccode\u003ef219276\u003c/code\u003e\u003c/a\u003e docs: first argument for _has_dependency is a name (\u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/7adb29e69d2744acc5391d3c58d234388a9ac0ed\"\u003e\u003ccode\u003e7adb29e\u003c/code\u003e\u003c/a\u003e fix: support UV environment variable (\u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/a40623b20de5d29c80b569283191d65e630f4fc0\"\u003e\u003ccode\u003ea40623b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/attest-build-provenance in the actions group (\u003ca href=\"https://redirect.github.com/pypa/build/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/c8fae3459dbe4456d82d705c6a3f1869b0b26e5c\"\u003e\u003ccode\u003ec8fae34\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories (\u003ca href=\"https://redirect.github.com/pypa/build/issues/965\"\u003e#965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/ed9c379f51abca7c0c0ae20bee66aa548d597dc3\"\u003e\u003ccode\u003eed9c379\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/0e44fd22f35c7b3c14d6410bbd8912dafba0e4a9\"\u003e\u003ccode\u003e0e44fd2\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003equiet\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/60e15ed4cb31209f0e07de750c831cdb3911c62c\"\u003e\u003ccode\u003e60e15ed\u003c/code\u003e\u003c/a\u003e chore: color defaults to True in 3.14 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/0486d9df2e6caf7c04a3991824093eb6a16e7f29\"\u003e\u003ccode\u003e0486d9d\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories (\u003ca href=\"https://redirect.github.com/pypa/build/issues/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/393b775480523247c1ad07b8da9bb8c23c5cd0fa\"\u003e\u003ccode\u003e393b775\u003c/code\u003e\u003c/a\u003e MNT: remove workaround for 3.14b1 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.3.0...1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `debugpy` from 1.8.19 to 1.8.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/debugpy/releases\"\u003edebugpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003edebugpy v1.8.20\u003c/h2\u003e\n\u003cp\u003eFixes for:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eannotate in 3.14 causing exceptions: \u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1971\"\u003emicrosoft/debugpy#1971\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse remote_exec if available: \u003ca href=\"https://github.com/microsoft/debugpy/commit/c7e86a1954381ceadb2ea398fc60079deef91358\"\u003ehttps://github.com/microsoft/debugpy/commit/c7e86a1954381ceadb2ea398fc60079deef91358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport more architectures: \u003ca href=\"https://github.com/microsoft/debugpy/commit/1bbecdf366016c58e62a076b46d4f3c00aea097f\"\u003ehttps://github.com/microsoft/debugpy/commit/1bbecdf366016c58e62a076b46d4f3c00aea097f\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eInfrastructure work:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport devcontainers for development: \u003ca href=\"https://github.com/microsoft/debugpy/commit/7dbc2292b1a23e5ae80db67a1b25f002bd104776\"\u003ehttps://github.com/microsoft/debugpy/commit/7dbc2292b1a23e5ae80db67a1b25f002bd104776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/rameshvarun\"\u003e\u003ccode\u003e@​rameshvarun\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Xeonacid\"\u003e\u003ccode\u003e@​Xeonacid\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/pdepetro\"\u003e\u003ccode\u003e@​pdepetro\u003c/code\u003e\u003c/a\u003e for the commits\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/microsoft/debugpy/commit/7ac3d1f2c65ccf6b2e62a762863093f0242179f0\"\u003e\u003ccode\u003e7ac3d1f\u003c/code\u003e\u003c/a\u003e Try 6 on this file (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1995\"\u003e#1995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/e1646137a8346292a528b2899c7c8a8fe8d60224\"\u003e\u003ccode\u003ee164613\u003c/code\u003e\u003c/a\u003e O365 new advice (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1994\"\u003e#1994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/4cbf8b1ce99a856b032470c19c3261195e137ca2\"\u003e\u003ccode\u003e4cbf8b1\u003c/code\u003e\u003c/a\u003e Try another suppression (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1993\"\u003e#1993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/ea9fcaeb59482ad97c51cbe584247f30a0c7ae2d\"\u003e\u003ccode\u003eea9fcae\u003c/code\u003e\u003c/a\u003e Try a different way to suppress binskim problems (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1992\"\u003e#1992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/ea2746aafcd830a96a2144c3f636ba587f90a15d\"\u003e\u003ccode\u003eea2746a\u003c/code\u003e\u003c/a\u003e Add LTCG flags to compile_windows.bat for BinSkim BA6006 compliance (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1991\"\u003e#1991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/7dbc2292b1a23e5ae80db67a1b25f002bd104776\"\u003e\u003ccode\u003e7dbc229\u003c/code\u003e\u003c/a\u003e Added devcontainer specification (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1989\"\u003e#1989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/bb450fc27202cdf0676343dc0150be962b627233\"\u003e\u003ccode\u003ebb450fc\u003c/code\u003e\u003c/a\u003e Fix: Treat \u003cstrong\u003eannotate\u003c/strong\u003e functions as library code in Python 3.14+ (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/1bbecdf366016c58e62a076b46d4f3c00aea097f\"\u003e\u003ccode\u003e1bbecdf\u003c/code\u003e\u003c/a\u003e Better experience for unsupported arch (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1984\"\u003e#1984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/c7e86a1954381ceadb2ea398fc60079deef91358\"\u003e\u003ccode\u003ec7e86a1\u003c/code\u003e\u003c/a\u003e Use sys.remote_exec() to attach to pid, if available (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1986\"\u003e#1986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/microsoft/debugpy/compare/v1.8.19...v1.8.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `greenlet` from 3.3.0 to 3.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst\"\u003egreenlet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.3.2 (2026-02-20)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix a crash on Python 3.10 if there are active greenlets during\ninterpreter shutdown. See \u003ccode\u003ePR 495 \u0026lt;https://github.com/python-greenlet/greenlet/pull/495\u0026gt;\u003c/code\u003e_ by Nicolas\nBouvrette.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.3.1 (2026-01-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePublish Windows ARM binary wheels, where available.\u003c/li\u003e\n\u003cli\u003eFix compilation for 3.14t on Windows.\u003c/li\u003e\n\u003cli\u003ePublish Windows 3.14t binary wheels for Intel.\u003c/li\u003e\n\u003cli\u003eSwitch from Appveyor for Windows to Github Actions.\u003c/li\u003e\n\u003cli\u003eFix compilation on MIPS with GCC 15 and binutils 2.45. See \u003ccode\u003ePR 487 by Rosen Penev \u0026lt;https://github.com/python-greenlet/greenlet/pull/487\u0026gt;\u003c/code\u003e_. Note that\nthis is not a platform tested by this project's CI.\u003c/li\u003e\n\u003cli\u003eMove most project metadata into the static \u003ccode\u003epyproject.toml\u003c/code\u003e file.\nThis updates licensing information to use the modern\n\u003ccode\u003eLicense-Expression\u003c/code\u003e field. See \u003ccode\u003ePR 480 by mrbean-bremen \u0026lt;https://github.com/python-greenlet/greenlet/pull/480/\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/a62f331fd74d0d17ab64b509ad9fb685d5cfeaec\"\u003e\u003ccode\u003ea62f331\u003c/code\u003e\u003c/a\u003e Preparing release 3.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/c73a2c6d055b8328e204b9b0b7597d3c92b3ad18\"\u003e\u003ccode\u003ec73a2c6\u003c/code\u003e\u003c/a\u003e Pull in change note for 3.2.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/4eb47c89d1936f15055119f3452e2a92cfb77653\"\u003e\u003ccode\u003e4eb47c8\u003c/code\u003e\u003c/a\u003e test_untracked_memory_doesnt_increase_unfinished_thread_dealloc_in_main: A ch...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/53ac405e7ea428dce99317765dd7ef3e68d59f60\"\u003e\u003ccode\u003e53ac405\u003c/code\u003e\u003c/a\u003e Add change note for \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/495\"\u003e#495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d5b85158f65488e54f6c63bc8aa0ea4a8c0b7094\"\u003e\u003ccode\u003ed5b8515\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/495\"\u003e#495\u003c/a\u003e from nbouvrette/fix/safe-finalization-py310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/e0625d78d3b4dc76756fb6a506a02ef6a98b6fb3\"\u003e\u003ccode\u003ee0625d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/494\"\u003e#494\u003c/a\u003e from daniel7an/fix/issue-492-spdx-license\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/292e126fb3ee3bf4a639100d5791fd76dc560eeb\"\u003e\u003ccode\u003e292e126\u003c/code\u003e\u003c/a\u003e Fix SIGSEGV/SIGABRT during interpreter shutdown on Python \u0026lt; 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/77e65f089aae346e363dc2fa7bd78e00f83104a5\"\u003e\u003ccode\u003e77e65f0\u003c/code\u003e\u003c/a\u003e Fix SPDX license identifier: Python-2.0 → PSF-2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d4606efcf80c7fc81473cb173b9d6745572de090\"\u003e\u003ccode\u003ed4606ef\u003c/code\u003e\u003c/a\u003e leak tests: do a better job skipping if uss isn't available. Fixes \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/485\"\u003e#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/74a11b86b495d35b60967565319c36e648dfd7e5\"\u003e\u003ccode\u003e74a11b8\u003c/code\u003e\u003c/a\u003e Back to development: 3.3.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-greenlet/greenlet/compare/3.3.0...3.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `poethepoet` from 0.40.0 to 0.42.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nat-n/poethepoet/releases\"\u003epoethepoet's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.42.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd exact option for uv executor by \u003ca href=\"https://github.com/charlesbmi\"\u003e\u003ccode\u003e@​charlesbmi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/365\"\u003enat-n/poethepoet#365\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCompletion script fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIsolate zsh completion task options from global options by \u003ca href=\"https://github.com/nat-n\"\u003e\u003ccode\u003e@​nat-n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/364\"\u003enat-n/poethepoet#364\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion script edge case handling by \u003ca href=\"https://github.com/nat-n\"\u003e\u003ccode\u003e@​nat-n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/366\"\u003enat-n/poethepoet#366\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\nYou must follow \u003ca href=\"https://poethepoet.natn.io/installation.html#enable-tab-completion-for-your-shell\"\u003ethe instructions to (re)install the completion script for your preferred shell environment\u003c/a\u003e to benefit from the completion script fixes\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charlesbmi\"\u003e\u003ccode\u003e@​charlesbmi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/365\"\u003enat-n/poethepoet#365\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/nat-n/poethepoet/compare/v0.42.0...v0.42.1\"\u003ehttps://github.com/nat-n/poethepoet/compare/v0.42.0...v0.42.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.42.0\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBetter zsh completion caaching with max hits per cache and proper TTL before refresh by \u003ca href=\"https://github.com/nat-n\"\u003e\u003ccode\u003e@​nat-n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/360\"\u003enat-n/poethepoet#360\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOfficially Support Python 3.14 by \u003ca href=\"https://github.com/gruebel\"\u003e\u003ccode\u003e@​gruebel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/362\"\u003enat-n/poethepoet#362\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd completion script for PowerShell by \u003ca href=\"https://github.com/NSPC911\"\u003e\u003ccode\u003e@​NSPC911\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/358\"\u003enat-n/poethepoet#358\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\nYou must follow \u003ca href=\"https://poethepoet.natn.io/installation.html#enable-tab-completion-for-your-shell\"\u003ethe instructions to (re)install the completion script for your preferred shell environment\u003c/a\u003e to benefit from the enhancements for zsh or PowerShell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gruebel\"\u003e\u003ccode\u003e@​gruebel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/362\"\u003enat-n/poethepoet#362\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NSPC911\"\u003e\u003ccode\u003e@​NSPC911\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/358\"\u003enat-n/poethepoet#358\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/nat-n/poethepoet/compare/v0.41.0...v0.42.0\"\u003ehttps://github.com/nat-n/poethepoet/compare/v0.41.0...v0.42.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.41.0\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFull shell completions for global and task arguments in zsh and bash by \u003ca href=\"https://github.com/nat-n\"\u003e\u003ccode\u003e@​nat-n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/355\"\u003enat-n/poethepoet#355\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/nat-n/poethepoet/compare/v0.40.0...v0.41.0\"\u003ehttps://github.com/nat-n/poethepoet/compare/v0.40.0...v0.41.0\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\nYou must follow \u003ca href=\"https://poethepoet.natn.io/installation.html#enable-tab-completion-for-your-shell\"\u003ethe instructions to (re)install the completion script for your preferred shell environment\u003c/a\u003e to benefit from the revamped tab completion covering task arguments.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nat-n/poethepoet/commit/49792724526b9e740f3c76a6ece2e1039d76b8ea\"\u003e\u003ccode\u003e4979272\u003c/code\u003e\u003c/a\u003e Bump version to 0.42.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nat-n/poethepoet/commit/1f40807b1791d5a71d0952eb0ad0da70cea4cfc2\"\u003e\u003ccode\u003e1f40807\u003c/code\u003e\u003c/a\u003e fix: completion script edge case handling (\u003ca href=\"https://redirect.github.com/nat-n/poethepoet/issues/366\"\u003e#366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nat-n/poethepoet/commit/c67a8586791f2bbcb7d9f85f024f1b77d949734e\"\u003e\u003ccode\u003ec67a858\u003c/code\u003e\u003c/a\u003e feat(uv): add exact option for uv executor (\u003ca href=\"https://redirect.github.com/nat-n/poethepoet/issues/365\"\u003e#365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nat-n/poethepoet/commit/8f4d5c4c4735645275ccbe367bb56ab728c5b4ee\"\u003e\u003ccode\u003e8f4d5c4\u003c/code\u003e\u003c/a\u003e fix: isolate zsh completion task options from global options (\u003ca href=\"https://redirect.github.com/nat-n/poethepoet/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nat-n/poethepoet/commit/b1589da0a5f00f5a2a4d2deef1dbdf368d4e0697\"\u003e\u003ccode\u003eb1589da\u003c/code\u003e\u003c/a\u003e Bump version to 0.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nat-n/poethe...\n\n_Description has been truncated_","html_url":"https://github.com/donvargax/adk-ddd/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/donvargax%2Fadk-ddd/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"},{"uuid":"4084220183","node_id":"PR_kwDONQJ6D87LArJ-","number":738,"state":"closed","title":"Bump gcsfs from 2025.5.1 to 2026.2.0 in /backend/pipelines/unified_pipeline","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-03-17T05:25:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-16T18:55:20.000Z","updated_at":"2026-03-17T05:25:56.000Z","time_to_close":37826,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"gcsfs","old_version":"2025.5.1","new_version":"2026.2.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":"/backend/pipelines/unified_pipeline","ecosystem":"pip"},"body":"Bumps [gcsfs](https://github.com/fsspec/gcsfs) from 2025.5.1 to 2026.2.0.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/427354db3d4833cc7623ce359c398610f6601219\"\u003e\u003ccode\u003e427354d\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/757\"\u003e#757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/6e4efb8ea553ee5d92b295bfe8a359f79b550358\"\u003e\u003ccode\u003e6e4efb8\u003c/code\u003e\u003c/a\u003e Remove cache_type option from ExtendedGCSFSFileSystem._open (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/754\"\u003e#754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9f20436237d8f9ffe3ae6ad7fe0181c23ad905d6\"\u003e\u003ccode\u003e9f20436\u003c/code\u003e\u003c/a\u003e Fix for recent breaking changes introduced in python sdk  (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/755\"\u003e#755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/98af30083031c22c7781934a8263f3b5b778fc64\"\u003e\u003ccode\u003e98af300\u003c/code\u003e\u003c/a\u003e Adds test coverage check in repo (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/68\"\u003e#68\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/752\"\u003e#752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/fcefacb3401f72cf5cc3ff4ae1392d7464c10a6e\"\u003e\u003ccode\u003efcefacb\u003c/code\u003e\u003c/a\u003e Add the new readahead_v2 cache (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/750\"\u003e#750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e0c0a9fe1c4190aaf71200eb9fa0958d74a267f7\"\u003e\u003ccode\u003ee0c0a9f\u003c/code\u003e\u003c/a\u003e rm override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/742\"\u003e#742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/73c37dcd4370591dca143851454ba7d13960371c\"\u003e\u003ccode\u003e73c37dc\u003c/code\u003e\u003c/a\u003e Ignore benchmark folders (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/748\"\u003e#748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/a586d0b70ca0400eca4164ea9962fe2bd30a2a73\"\u003e\u003ccode\u003ea586d0b\u003c/code\u003e\u003c/a\u003e adds info() integration tests for HNS (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/749\"\u003e#749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/57baa54db055dca11f061ce0c471c1fb18863ba8\"\u003e\u003ccode\u003e57baa54\u003c/code\u003e\u003c/a\u003e change errors to warning in ZonalFile commit (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/747\"\u003e#747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b43958088bf5ccfe5552e79cfe6f1f8570b848c3\"\u003e\u003ccode\u003eb439580\u003c/code\u003e\u003c/a\u003e find Method Implementation for HNS Buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/735\"\u003e#735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.5.1...2026.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gcsfs\u0026package-manager=uv\u0026previous-version=2025.5.1\u0026new-version=2026.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Klimabevaegelsen/landbruget.dk/pull/738","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Klimabevaegelsen%2Flandbruget.dk/issues/738","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/738/packages"},{"uuid":"4084187992","node_id":"PR_kwDONQJ6D87LAkr-","number":708,"state":"closed","title":"Bump gcsfs from 2025.5.1 to 2026.2.0 in /backend/pipelines/arbejdstilsynet_inspections","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-03-17T05:29:17.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-16T18:47:58.000Z","updated_at":"2026-03-17T05:30:33.000Z","time_to_close":38479,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"gcsfs","old_version":"2025.5.1","new_version":"2026.2.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":"/backend/pipelines/arbejdstilsynet_inspections","ecosystem":"pip"},"body":"Bumps [gcsfs](https://github.com/fsspec/gcsfs) from 2025.5.1 to 2026.2.0.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/427354db3d4833cc7623ce359c398610f6601219\"\u003e\u003ccode\u003e427354d\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/757\"\u003e#757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/6e4efb8ea553ee5d92b295bfe8a359f79b550358\"\u003e\u003ccode\u003e6e4efb8\u003c/code\u003e\u003c/a\u003e Remove cache_type option from ExtendedGCSFSFileSystem._open (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/754\"\u003e#754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9f20436237d8f9ffe3ae6ad7fe0181c23ad905d6\"\u003e\u003ccode\u003e9f20436\u003c/code\u003e\u003c/a\u003e Fix for recent breaking changes introduced in python sdk  (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/755\"\u003e#755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/98af30083031c22c7781934a8263f3b5b778fc64\"\u003e\u003ccode\u003e98af300\u003c/code\u003e\u003c/a\u003e Adds test coverage check in repo (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/68\"\u003e#68\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/752\"\u003e#752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/fcefacb3401f72cf5cc3ff4ae1392d7464c10a6e\"\u003e\u003ccode\u003efcefacb\u003c/code\u003e\u003c/a\u003e Add the new readahead_v2 cache (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/750\"\u003e#750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e0c0a9fe1c4190aaf71200eb9fa0958d74a267f7\"\u003e\u003ccode\u003ee0c0a9f\u003c/code\u003e\u003c/a\u003e rm override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/742\"\u003e#742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/73c37dcd4370591dca143851454ba7d13960371c\"\u003e\u003ccode\u003e73c37dc\u003c/code\u003e\u003c/a\u003e Ignore benchmark folders (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/748\"\u003e#748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/a586d0b70ca0400eca4164ea9962fe2bd30a2a73\"\u003e\u003ccode\u003ea586d0b\u003c/code\u003e\u003c/a\u003e adds info() integration tests for HNS (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/749\"\u003e#749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/57baa54db055dca11f061ce0c471c1fb18863ba8\"\u003e\u003ccode\u003e57baa54\u003c/code\u003e\u003c/a\u003e change errors to warning in ZonalFile commit (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/747\"\u003e#747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b43958088bf5ccfe5552e79cfe6f1f8570b848c3\"\u003e\u003ccode\u003eb439580\u003c/code\u003e\u003c/a\u003e find Method Implementation for HNS Buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/735\"\u003e#735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.5.1...2026.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gcsfs\u0026package-manager=uv\u0026previous-version=2025.5.1\u0026new-version=2026.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Klimabevaegelsen/landbruget.dk/pull/708","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Klimabevaegelsen%2Flandbruget.dk/issues/708","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/708/packages"},{"uuid":"3924462684","node_id":"PR_kwDOQ54Gg87C5Xdh","number":5,"state":"closed","title":"Bump the uv-dependencies group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-18T02:49:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-11T02:50:49.000Z","updated_at":"2026-02-18T02:49:57.000Z","time_to_close":604746,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"uv-dependencies","update_count":13,"packages":[{"name":"google-adk","old_version":"1.21.0","new_version":"1.23.0","repository_url":"https://github.com/google/adk-python"},{"name":"opentelemetry-instrumentation-google-genai","old_version":"0.5b0","new_version":"0.6b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"gcsfs","old_version":"2025.12.0","new_version":"2026.1.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"protobuf","old_version":"6.33.2","new_version":"6.33.5","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"pytest-asyncio","old_version":"0.26.0","new_version":"1.3.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"build","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pypa/build"},{"name":"debugpy","old_version":"1.8.19","new_version":"1.8.20","repository_url":"https://github.com/microsoft/debugpy"},{"name":"greenlet","old_version":"3.3.0","new_version":"3.3.1","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"pyright","old_version":"1.1.407","new_version":"1.1.408","repository_url":"https://github.com/RobertCraigie/pyright-python"},{"name":"ruff","old_version":"0.14.10","new_version":"0.15.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"tombi","old_version":"0.7.14","new_version":"0.7.26","repository_url":"https://github.com/tombi-toml/tombi"},{"name":"uv","old_version":"0.9.21","new_version":"0.9.29","repository_url":"https://github.com/astral-sh/uv"},{"name":"types-requests","old_version":"2.32.4.20250913","new_version":"2.32.4.20260107","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv-dependencies group with 13 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [google-adk](https://github.com/google/adk-python) | `1.21.0` | `1.23.0` |\n| [opentelemetry-instrumentation-google-genai](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.5b0` | `0.6b0` |\n| [gcsfs](https://github.com/fsspec/gcsfs) | `2025.12.0` | `2026.1.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.2` | `6.33.5` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `0.26.0` | `1.3.0` |\n| [build](https://github.com/pypa/build) | `1.3.0` | `1.4.0` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.19` | `1.8.20` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.3.0` | `3.3.1` |\n| [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.407` | `1.1.408` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.10` | `0.15.0` |\n| [tombi](https://github.com/tombi-toml/tombi) | `0.7.14` | `0.7.26` |\n| [uv](https://github.com/astral-sh/uv) | `0.9.21` | `0.9.29` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.4.20250913` | `2.32.4.20260107` |\n\n\nUpdates `google-adk` from 1.21.0 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.22.1...v1.23.0\"\u003e1.23.0\u003c/a\u003e (2026-01-22)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking: Use OpenTelemetry for BigQuery plugin tracing, replacing custom \u003ccode\u003eContextVar\u003c/code\u003e implementation (\u003ca href=\"https://github.com/google/adk-python/commit/ab89d1283430041afb303834749869e9ee331721\"\u003eab89d12\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support to automatically create a session if one does not exist (\u003ca href=\"https://github.com/google/adk-python/commit/8e69a58df4eadeccbb100b7264bb518a46b61fd7\"\u003e8e69a58\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e@experimental\u003c/code\u003e decorator from \u003ccode\u003eAgentEngineSandboxCodeExecutor\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/135f7633253f6a415302142abc3579b664601d5b\"\u003e135f763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--disable_features\u003c/code\u003e CLI option to override default feature enable state (\u003ca href=\"https://github.com/google/adk-python/commit/53b67ce6340f3f3f8c3d732f9f7811e445c76359\"\u003e53b67ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel_to_cloud\u003c/code\u003e flag to \u003ccode\u003eadk deploy agent_engine\u003c/code\u003e command (\u003ca href=\"https://github.com/google/adk-python/commit/21f63f66ee424501d9a70806277463ef718ae843\"\u003e21f63f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eis_computer_use\u003c/code\u003e field to agent information in \u003ccode\u003eadk-web\u003c/code\u003e server (\u003ca href=\"https://github.com/google/adk-python/commit/5923da786eb1aaef6f0bcbc6adc906cbc8bf9b36\"\u003e5923da7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003ethinking_config\u003c/code\u003e in \u003ccode\u003egenerate_content_config\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/e162bb8832a806e2380048e39165bf837455f88c\"\u003ee162bb8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConvert A2UI messages between A2A \u003ccode\u003eDataPart\u003c/code\u003e metadata and ADK events (\u003ca href=\"https://github.com/google/adk-python/commit/1133ce219c5a7a9a85222b03e348ba6b13830c8f\"\u003e1133ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--enable_features\u003c/code\u003e CLI option to override default feature enable state (\u003ca href=\"https://github.com/google/adk-python/commit/79fcddb39f71a4c1342e63b4d67832b3eccb2652\"\u003e79fcddb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd flush mechanism to \u003ccode\u003eBigQueryAgentAnalyticsPlugin\u003c/code\u003e to ensure pending log events are written to BigQuery (\u003ca href=\"https://github.com/google/adk-python/commit/9579bea05d946b3d8b4bfec35e510725dd371224\"\u003e9579bea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow Google Search tool to set a different model (\u003ca href=\"https://github.com/google/adk-python/commit/b57a3d43e4656f5a3c5db53addff02b67d1fde26\"\u003eb57a3d4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport authentication for MCP tool listing (\u003ca href=\"https://github.com/google/adk-python/commit/e3d542a5ba3d357407f8cd29cfdd722f583c8564\"\u003ee3d542a\u003c/a\u003e \u003ca href=\"https://github.com/google/adk-python/commit/19315fe557039fa8bf446525a4830b1c9f40cba9\"\u003e19315fe\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003ebase_retrieval_tool\u003c/code\u003e, \u003ccode\u003eload_artifacts_tool\u003c/code\u003e, and \u003ccode\u003eload_memory_tool\u003c/code\u003e declarations when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/69ad605bc4bbe9a4f018127fd3625169ee70488e\"\u003e69ad605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003eIntegrationConnectorTool\u003c/code\u003e declaration when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/2ed686527ac75ff64128ce7d9b1a3befc2b37c64\"\u003e2ed6865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStart and close \u003ccode\u003eClientSession\u003c/code\u003e in a single task in \u003ccode\u003eMcpSessionManager\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/cce430da799766686e65f6cae02ba64e916d5c8a\"\u003ecce430d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003eRestApiTool\u003c/code\u003e declaration when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/a5f0d333d7f26f2966ed511d5d9def7a1933f0c2\"\u003ea5f0d33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Evals]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003eadk eval\u003c/code\u003e CLI to consume custom metrics by adding \u003ccode\u003eCustomMetricEvaluator\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/ea0934b9934c1fefd129a1026d6af369f126870e\"\u003eea0934b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eEvalConfig\u003c/code\u003e and \u003ccode\u003eEvalMetric\u003c/code\u003e data models to support custom metrics (\u003ca href=\"https://github.com/google/adk-python/commit/6d2f33a59cfba358dd758378290125fc2701c411\"\u003e6d2f33a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Observability]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd minimal \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e spans and logs for non-Gemini inference and when \u003ccode\u003eopentelemetry-inference-google-genai\u003c/code\u003e dependency is missing (\u003ca href=\"https://github.com/google/adk-python/commit/935c279f8281bde99224f03d936b8abe51cbabfc\"\u003e935c279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Integrations]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnhance \u003ccode\u003eTraceManager\u003c/code\u003e asynchronous safety, enrich BigQuery plugin logging, and fix serialization (\u003ca href=\"https://github.com/google/adk-python/commit/a4116a6cbfadc161982af5dabd55a711d79348b7\"\u003ea4116a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Live]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePersist user input content to session in live mode (\u003ca href=\"https://github.com/google/adk-python/commit/a04828dd8a848482acbd48acc7da432d0d2cb0aa\"\u003ea04828d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecursively extract input/output schema for AgentTool (\u003ca href=\"https://github.com/google/adk-python/commit/bf2b56de6d0052e40b6d871b2d22c56e9225e145\"\u003ebf2b56d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eYield buffered \u003ccode\u003efunction_call\u003c/code\u003e and \u003ccode\u003efunction_response\u003c/code\u003e events during live streaming (\u003ca href=\"https://github.com/google/adk-python/commit/7b25b8fb1daf54d7694bf405d545d46d2c012d2b\"\u003e7b25b8f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eauthlib\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e dependency versions (\u003ca href=\"https://github.com/google/adk-python/commit/7955177fb28b8e5dc19aae8be94015a7b5d9882a\"\u003e7955177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eLITELLM_MODE\u003c/code\u003e to \u003ccode\u003ePRODUCTION\u003c/code\u003e before importing LiteLLM to prevent implicit \u003ccode\u003e.env\u003c/code\u003e file loading (\u003ca href=\"https://github.com/google/adk-python/commit/215c2f506e21a3d8c39551b80f6356943ecae320\"\u003e215c2f5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRedact sensitive information from URIs in logs (\u003ca href=\"https://github.com/google/adk-python/commit/5257869d91a77ebd1381538a85e7fdc3a600da90\"\u003e5257869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle asynchronous driver URLs in the migration tool (\u003ca href=\"https://github.com/google/adk-python/commit/4b29d15b3e5df65f3503daffa6bc7af85159507b\"\u003e4b29d15\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove custom metadata from A2A response events (\u003ca href=\"https://github.com/google/adk-python/commit/81eaeb5eba6d40cde0cf6147d96921ed1bf7bb31\"\u003e81eaeb5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.22.1...v1.23.0\"\u003e1.23.0\u003c/a\u003e (2026-01-22)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking: Use OpenTelemetry for BigQuery plugin tracing, replacing custom \u003ccode\u003eContextVar\u003c/code\u003e implementation (\u003ca href=\"https://github.com/google/adk-python/commit/ab89d1283430041afb303834749869e9ee331721\"\u003eab89d12\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support to automatically create a session if one does not exist (\u003ca href=\"https://github.com/google/adk-python/commit/8e69a58df4eadeccbb100b7264bb518a46b61fd7\"\u003e8e69a58\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e@experimental\u003c/code\u003e decorator from \u003ccode\u003eAgentEngineSandboxCodeExecutor\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/135f7633253f6a415302142abc3579b664601d5b\"\u003e135f763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--disable_features\u003c/code\u003e CLI option to override default feature enable state (\u003ca href=\"https://github.com/google/adk-python/commit/53b67ce6340f3f3f8c3d732f9f7811e445c76359\"\u003e53b67ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel_to_cloud\u003c/code\u003e flag to \u003ccode\u003eadk deploy agent_engine\u003c/code\u003e command (\u003ca href=\"https://github.com/google/adk-python/commit/21f63f66ee424501d9a70806277463ef718ae843\"\u003e21f63f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eis_computer_use\u003c/code\u003e field to agent information in \u003ccode\u003eadk-web\u003c/code\u003e server (\u003ca href=\"https://github.com/google/adk-python/commit/5923da786eb1aaef6f0bcbc6adc906cbc8bf9b36\"\u003e5923da7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003ethinking_config\u003c/code\u003e in \u003ccode\u003egenerate_content_config\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/e162bb8832a806e2380048e39165bf837455f88c\"\u003ee162bb8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConvert A2UI messages between A2A \u003ccode\u003eDataPart\u003c/code\u003e metadata and ADK events (\u003ca href=\"https://github.com/google/adk-python/commit/1133ce219c5a7a9a85222b03e348ba6b13830c8f\"\u003e1133ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--enable_features\u003c/code\u003e CLI option to override default feature enable state (\u003ca href=\"https://github.com/google/adk-python/commit/79fcddb39f71a4c1342e63b4d67832b3eccb2652\"\u003e79fcddb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd flush mechanism to \u003ccode\u003eBigQueryAgentAnalyticsPlugin\u003c/code\u003e to ensure pending log events are written to BigQuery (\u003ca href=\"https://github.com/google/adk-python/commit/9579bea05d946b3d8b4bfec35e510725dd371224\"\u003e9579bea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow Google Search tool to set a different model (\u003ca href=\"https://github.com/google/adk-python/commit/b57a3d43e4656f5a3c5db53addff02b67d1fde26\"\u003eb57a3d4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport authentication for MCP tool listing (\u003ca href=\"https://github.com/google/adk-python/commit/e3d542a5ba3d357407f8cd29cfdd722f583c8564\"\u003ee3d542a\u003c/a\u003e \u003ca href=\"https://github.com/google/adk-python/commit/19315fe557039fa8bf446525a4830b1c9f40cba9\"\u003e19315fe\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003ebase_retrieval_tool\u003c/code\u003e, \u003ccode\u003eload_artifacts_tool\u003c/code\u003e, and \u003ccode\u003eload_memory_tool\u003c/code\u003e declarations when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/69ad605bc4bbe9a4f018127fd3625169ee70488e\"\u003e69ad605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003eIntegrationConnectorTool\u003c/code\u003e declaration when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/2ed686527ac75ff64128ce7d9b1a3befc2b37c64\"\u003e2ed6865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStart and close \u003ccode\u003eClientSession\u003c/code\u003e in a single task in \u003ccode\u003eMcpSessionManager\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/cce430da799766686e65f6cae02ba64e916d5c8a\"\u003ecce430d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003eRestApiTool\u003c/code\u003e declaration when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/a5f0d333d7f26f2966ed511d5d9def7a1933f0c2\"\u003ea5f0d33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Evals]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003eadk eval\u003c/code\u003e CLI to consume custom metrics by adding \u003ccode\u003eCustomMetricEvaluator\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/ea0934b9934c1fefd129a1026d6af369f126870e\"\u003eea0934b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eEvalConfig\u003c/code\u003e and \u003ccode\u003eEvalMetric\u003c/code\u003e data models to support custom metrics (\u003ca href=\"https://github.com/google/adk-python/commit/6d2f33a59cfba358dd758378290125fc2701c411\"\u003e6d2f33a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Observability]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd minimal \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e spans and logs for non-Gemini inference and when \u003ccode\u003eopentelemetry-inference-google-genai\u003c/code\u003e dependency is missing (\u003ca href=\"https://github.com/google/adk-python/commit/935c279f8281bde99224f03d936b8abe51cbabfc\"\u003e935c279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Integrations]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnhance \u003ccode\u003eTraceManager\u003c/code\u003e asynchronous safety, enrich BigQuery plugin logging, and fix serialization (\u003ca href=\"https://github.com/google/adk-python/commit/a4116a6cbfadc161982af5dabd55a711d79348b7\"\u003ea4116a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Live]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePersist user input content to session in live mode (\u003ca href=\"https://github.com/google/adk-python/commit/a04828dd8a848482acbd48acc7da432d0d2cb0aa\"\u003ea04828d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecursively extract input/output schema for AgentTool (\u003ca href=\"https://github.com/google/adk-python/commit/bf2b56de6d0052e40b6d871b2d22c56e9225e145\"\u003ebf2b56d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eYield buffered \u003ccode\u003efunction_call\u003c/code\u003e and \u003ccode\u003efunction_response\u003c/code\u003e events during live streaming (\u003ca href=\"https://github.com/google/adk-python/commit/7b25b8fb1daf54d7694bf405d545d46d2c012d2b\"\u003e7b25b8f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eauthlib\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e dependency versions (\u003ca href=\"https://github.com/google/adk-python/commit/7955177fb28b8e5dc19aae8be94015a7b5d9882a\"\u003e7955177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eLITELLM_MODE\u003c/code\u003e to \u003ccode\u003ePRODUCTION\u003c/code\u003e before importing LiteLLM to prevent implicit \u003ccode\u003e.env\u003c/code\u003e file loading (\u003ca href=\"https://github.com/google/adk-python/commit/215c2f506e21a3d8c39551b80f6356943ecae320\"\u003e215c2f5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRedact sensitive information from URIs in logs (\u003ca href=\"https://github.com/google/adk-python/commit/5257869d91a77ebd1381538a85e7fdc3a600da90\"\u003e5257869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle asynchronous driver URLs in the migration tool (\u003ca href=\"https://github.com/google/adk-python/commit/4b29d15b3e5df65f3503daffa6bc7af85159507b\"\u003e4b29d15\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove custom metadata from A2A response events (\u003ca href=\"https://github.com/google/adk-python/commit/81eaeb5eba6d40cde0cf6147d96921ed1bf7bb31\"\u003e81eaeb5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eNone\u003c/code\u003e inferences in eval results (\u003ca href=\"https://github.com/google/adk-python/commit/7d4326c3606a7ff2ba3c0fdef08d4f6af52ee71e\"\u003e7d4326c\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/google/adk-python/commit/7cf1e447d7f7d66d68a3b8c4bd9a77c5973fe6f7\"\u003e\u003ccode\u003e7cf1e44\u003c/code\u003e\u003c/a\u003e chore: Bumps version to v1.23.0 and updates CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3f1b0d0957e7c92c9f6ae82c0c7a14856c2f5744\"\u003e\u003ccode\u003e3f1b0d0\u003c/code\u003e\u003c/a\u003e chore: minor fix for DebugLoggingPlugin example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/935c279f8281bde99224f03d936b8abe51cbabfc\"\u003e\u003ccode\u003e935c279\u003c/code\u003e\u003c/a\u003e feat(otel): add minimal \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e spans and logs for no...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/82fa10b71e037b565cb407c82e9e908432dab0ff\"\u003e\u003ccode\u003e82fa10b\u003c/code\u003e\u003c/a\u003e feat: add new conversational analytics api tool set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/bf2b56de6d0052e40b6d871b2d22c56e9225e145\"\u003e\u003ccode\u003ebf2b56d\u003c/code\u003e\u003c/a\u003e fix: recursively extract input/output schema for AgentTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3d96b7883bf12f82e5906b2bbde42803f57f1ee6\"\u003e\u003ccode\u003e3d96b78\u003c/code\u003e\u003c/a\u003e chore: Pin litellm dependency to versions below 1.80.17\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/91ec80c606b812a6e92e62056e3ee546db1414ff\"\u003e\u003ccode\u003e91ec80c\u003c/code\u003e\u003c/a\u003e docs: fixing multiple typos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/295b34558774d1f64022009980e3edd8eb79527b\"\u003e\u003ccode\u003e295b345\u003c/code\u003e\u003c/a\u003e chore:  Filter out \u003ccode\u003eadk_request_input\u003c/code\u003e event from content list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b57a3d43e4656f5a3c5db53addff02b67d1fde26\"\u003e\u003ccode\u003eb57a3d4\u003c/code\u003e\u003c/a\u003e feat: Allow google search tool to set different model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/9579bea05d946b3d8b4bfec35e510725dd371224\"\u003e\u003ccode\u003e9579bea\u003c/code\u003e\u003c/a\u003e feat(plugins): Add flush mechanism to BigQueryAgentAnalyticsPlugin\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.21.0...v1.23.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-google-genai` from 0.5b0 to 0.6b0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/releases\"\u003eopentelemetry-instrumentation-google-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopentelemetry-instrumentation-google-genai 0.6b0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable the addition of custom attributes to the \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e span via the Context API. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3961\"\u003e#3961\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEnable the addition of custom attributes to \u003ccode\u003egen_ai.client.inference.operation.details\u003c/code\u003e log events (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4103\"\u003e#4103\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-google-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.6b0 (2020-03-30)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-ext-flask\u003c/code\u003e Add an entry_point to be usable in auto-instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/327\"\u003e#327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-ext-grpc\u003c/code\u003e Add gRPC integration\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/476\"\u003e#476\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\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gcsfs` from 2025.12.0 to 2026.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/3ed414aa2c5e5a78556726be11d663ff346bab40\"\u003e\u003ccode\u003e3ed414a\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/bca0139193d8dd8103fc52bfa5caf2ffd2172e6a\"\u003e\u003ccode\u003ebca0139\u003c/code\u003e\u003c/a\u003e Implement async upload methods and support async mode in ExtendedGcsfs (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9d64f5c5c74c59c840f440f82288f047bf557a3f\"\u003e\u003ccode\u003e9d64f5c\u003c/code\u003e\u003c/a\u003e mkdir override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/4f9f4ac35f1df42dacfb56f9be200730058fd5ef\"\u003e\u003ccode\u003e4f9f4ac\u003c/code\u003e\u003c/a\u003e reformat benchmark readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/cdd65f5808f6864bd8bed08e7bb7a9359ab0cbe7\"\u003e\u003ccode\u003ecdd65f5\u003c/code\u003e\u003c/a\u003e Adds GCSFS Microbenchmarks (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/722\"\u003e#722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c8ed96a77d027115b436cd9062825f703955b891\"\u003e\u003ccode\u003ec8ed96a\u003c/code\u003e\u003c/a\u003e ✨ Support alternative GCP Universes (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e03bf2949664282d4eb09ba18c62a2d98085cba9\"\u003e\u003ccode\u003ee03bf29\u003c/code\u003e\u003c/a\u003e Override info for hns (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14276d82827f21c1ee6b736ff7896ae4211cc726\"\u003e\u003ccode\u003e14276d8\u003c/code\u003e\u003c/a\u003e Update ci pipeline to run tests on HNS bucket (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/729\"\u003e#729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c5ac0e3e65154d4d5ec1d1de1566a7b1ea7781d3\"\u003e\u003ccode\u003ec5ac0e3\u003c/code\u003e\u003c/a\u003e feat(zb-write): Support write mode in Zonal File (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/06399c09003b66292bf25206e500796a8855ce72\"\u003e\u003ccode\u003e06399c0\u003c/code\u003e\u003c/a\u003e Adds mv/rename method implementation for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/727\"\u003e#727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.12.0...2026.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `protobuf` from 6.33.2 to 6.33.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/protocolbuffers/protobuf/releases\"\u003eprotobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eProtocol Buffers v34.0-rc1\u003c/h2\u003e\n\u003ch1\u003eAnnouncements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThis version includes breaking changes to: C++, Objective-C, PHP, Python.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e[Bazel] Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make generator headers private (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add a debug check that the target of CopyFrom is not a descendant of the source. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add [[nodiscard]] to many APIs. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make the arena-enabled constructors of \u003ccode\u003eRepeatedField\u003c/code\u003e, \u003ccode\u003eRepeatedPtrField\u003c/code\u003e, and \u003ccode\u003eMap\u003c/code\u003e private. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria that takes a raw pointer as an argument in favor of the overload that takes a unique_ptr. Remove macro PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() \u0026amp;\u0026amp; !is_repeated()) instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] All entity names have length limit (2afb0dc)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003egenerate_minimal_imports\u003c/code\u003e generation option warning (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Fix nullability annotations on some \u003ccode\u003eGPB*Dictionary\u003c/code\u003e types. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003e-[GPBFieldDescriptor optional]\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Other] Remove deprecated flag for enabling MSVC support (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  Add PHP typehints for setters and remove redundant GPBUtil checks (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25296\"\u003eprotocolbuffers/protobuf#25296\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  support default values for editions/proto2 (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25161\"\u003eprotocolbuffers/protobuf#25161\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise errors in OSS when assign bool to int/enum field in Python Proto. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_format/double_format from python proto text_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise ArributeError) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_precision from python proto json_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor.label (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/news/\"\u003eProtobuf News\u003c/a\u003e may include additional announcements or pre-announcements for upcoming changes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/support/migration/\"\u003eMigration Guide\u003c/a\u003e may include additional guidance for breaking changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBazel\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: cc_toolchain should prefer protoc when prebuilt flag is flipped. (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/25168\"\u003e#25168\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBreaking change: Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat(bazel): wire up prebuilt protoc toolchain (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/24115\"\u003e#24115\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate \u003ccode\u003eproto_descriptor_set\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/23369\"\u003e#23369\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eCompiler\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRuby codegen: support generation of rbs files (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/15633\"\u003e#15633\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid collision name problems between a message named \u003ccode\u003eXyz\u003c/code\u003e and a direct sibling enum named \u003ccode\u003eXyzView\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeneralizing and implementing ValidateFeatureSupport for both Options and Features during proto parsing (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with custom features outside of the \u003ccode\u003epb\u003c/code\u003e package. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix import option handling when include_imports isn't set. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug in STRICT check of namespaced enums to properly check for 'reserved 1 to max' (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent accidental stripping of \u003ccode\u003edebug_redact\u003c/code\u003e options via import option. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eC++\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd EnumerateEnumValues function. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/protocolbuffers/protobuf/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 0.26.0 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio 1.3.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.3.0\"\u003e1.3.0\u003c/a\u003e - 2025-11-10\u003c/h1\u003e\n\u003ch2\u003eRemoved\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1278\"\u003e#1278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for pytest 9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTested Python versions include free threaded Python 3.14t (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1274\"\u003e#1274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTests are run in the same pytest process, instead of spawning a subprocess with \u003ccode\u003epytest.Pytester.runpytest_subprocess\u003c/code\u003e. This prevents the test suite from accidentally using a system installation of pytest-asyncio, which could result in test errors. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1275\"\u003e#1275\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.2.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.2.0\"\u003e1.2.0\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e--asyncio-debug\u003c/code\u003e CLI option and \u003ccode\u003easyncio_debug\u003c/code\u003e configuration option to enable asyncio debug mode for the default event loop. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/980\"\u003e#980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003epytest.UsageError\u003c/code\u003e for invalid configuration values of \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e and \u003ccode\u003easyncio_default_test_loop_scope\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompatibility with the Pyright type checker (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRuntimeError: There is no current event loop in thread 'MainThread'\u003c/code\u003e when any test unsets the event loop (such as when using \u003ccode\u003easyncio.run\u003c/code\u003e and \u003ccode\u003easyncio.Runner\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1177\"\u003e#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecation warning when decorating an asynchronous fixture with \u003ccode\u003e@pytest.fixture\u003c/code\u003e in [strict]{.title-ref} mode. The warning message now refers to the correct package. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the minimum required version of tox to v4.28. This change is only relevant if you use the \u003ccode\u003etox.ini\u003c/code\u003e file provided by pytest-asyncio to run tests.\u003c/li\u003e\n\u003cli\u003eExtend dependency on typing-extensions\u0026gt;=4.12 from Python\u0026lt;3.10 to Python\u0026lt;3.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.1.1\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/v1.1.1\"\u003ev1.1.1\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cp\u003e- Addresses a build problem with setuptoos-scm \u0026gt;= 9 caused by invalid setuptools-scm configuration in pytest-asyncio. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1192\"\u003e#1192\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003epytest-asyncio 1.1.0\u003c/h2\u003e\n\u003ch1\u003eAdded\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePropagation of ContextVars from async fixtures to other fixtures and tests on Python 3.10 and older (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/127\"\u003e#127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCancellation of tasks when the \u003ccode\u003eloop_scope\u003c/code\u003e ends (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/200\"\u003e#200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarning when the current event loop is closed by a test\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixed\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/2e9695fcf8c5c514f30f57b7d14ab83846357b96\"\u003e\u003ccode\u003e2e9695f\u003c/code\u003e\u003c/a\u003e docs: Compile changelog for v1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/dd0e9ba3fa672fd6bf375004319742f8d3a50e12\"\u003e\u003ccode\u003edd0e9ba\u003c/code\u003e\u003c/a\u003e docs: Reference correct issue in news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4c31abe5bf46bca3c9bdc7b18405f3deba4145d0\"\u003e\u003ccode\u003e4c31abe\u003c/code\u003e\u003c/a\u003e Build(deps): Bump nh3 from 0.3.1 to 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/13e94770d7bb146c329ae0e02486c0a6b38f3772\"\u003e\u003ccode\u003e13e9477\u003c/code\u003e\u003c/a\u003e Link to migration guides from changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4d2cf3c36f47d7c4d563d401cdf229b35da34fbe\"\u003e\u003ccode\u003e4d2cf3c\u003c/code\u003e\u003c/a\u003e tests: handle Python 3.14 DefaultEventLoopPolicy deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ee3549b6efb729b934e370e2be8040b25b034010\"\u003e\u003ccode\u003eee3549b\u003c/code\u003e\u003c/a\u003e test: Remove obsolete test for the event_loop fixture.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7a67c82c5ae548f0968438e9dfa0f282d51c4597\"\u003e\u003ccode\u003e7a67c82\u003c/code\u003e\u003c/a\u003e tests: Fix failing test by preventing warning conversion to error.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a17b689a750d05b6fc9369f5fb2b06baaba83536\"\u003e\u003ccode\u003ea17b689\u003c/code\u003e\u003c/a\u003e test: add pytest config to isolated test directories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/18afc9df5a3153dc1fbdc4e11a56517ef95480df\"\u003e\u003ccode\u003e18afc9d\u003c/code\u003e\u003c/a\u003e fix(tests): replace runpytest_subprocess with runpytest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/cdc6bd1de75b4738289eafd546f5e27a0bfd3b41\"\u003e\u003ccode\u003ecdc6bd1\u003c/code\u003e\u003c/a\u003e Add support for pytest 9 and drop Python 3.9 support\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v0.26.0...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/releases\"\u003ebuild's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/940\"\u003e#940\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/943\"\u003e#943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1 (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/942\"\u003e#942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/950\"\u003e#950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/921\"\u003e#921\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/blob/main/CHANGELOG.rst\"\u003ebuild's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.4.0 (2026-01-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag\n(:pr:\u003ccode\u003e947\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e\n(:pr:\u003ccode\u003e940\u003c/code\u003e, :pr:\u003ccode\u003e943\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable\n(:pr:\u003ccode\u003e971\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1\n(:pr:\u003ccode\u003e960\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already\n(:pr:\u003ccode\u003e962\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review\n(:pr:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e\n(:pr:\u003ccode\u003e950\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy\n(:pr:\u003ccode\u003e944\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e\n(:pr:\u003ccode\u003e945\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name\n(PR :pr:\u003ccode\u003e970\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed\n(PR :pr:\u003ccode\u003e921\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/54f238d1664124e06a68c6c22fd5b1418fa5feb2\"\u003e\u003ccode\u003e54f238d\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.0 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/f219276a6e2c6c8222780ba518ce52444a91deaa\"\u003e\u003ccode\u003ef219276\u003c/code\u003e\u003c/a\u003e docs: first argument for _has_dependency is a name (\u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/7adb29e69d2744acc5391d3c58d234388a9ac0ed\"\u003e\u003ccode\u003e7adb29e\u003c/code\u003e\u003c/a\u003e fix: support UV environment variable (\u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/a40623b20de5d29c80b569283191d65e630f4fc0\"\u003e\u003ccode\u003ea40623b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/attest-build-provenance in the actions group (\u003ca href=\"https://redirect.github.com/pypa/build/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/c8fae3459dbe4456d82d705c6a3f1869b0b26e5c\"\u003e\u003ccode\u003ec8fae34\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories (\u003ca href=\"https://redirect.github.com/pypa/build/issues/965\"\u003e#965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/ed9c379f51abca7c0c0ae20bee66aa548d597dc3\"\u003e\u003ccode\u003eed9c379\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/0e44fd22f35c7b3c14d6410bbd8912dafba0e4a9\"\u003e\u003ccode\u003e0e44fd2\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003equiet\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/60e15ed4cb31209f0e07de750c831cdb3911c62c\"\u003e\u003ccode\u003e60e15ed\u003c/code\u003e\u003c/a\u003e chore: color defaults to True in 3.14 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/0486d9df2e6caf7c04a3991824093eb6a16e7f29\"\u003e\u003ccode\u003e0486d9d\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories (\u003ca href=\"https://redirect.github.com/pypa/build/issues/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/393b775480523247c1ad07b8da9bb8c23c5cd0fa\"\u003e\u003ccode\u003e393b775\u003c/code\u003e\u003c/a\u003e MNT: remove workaround for 3.14b1 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.3.0...1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `debugpy` from 1.8.19 to 1.8.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/debugpy/releases\"\u003edebugpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003edebugpy v1.8.20\u003c/h2\u003e\n\u003cp\u003eFixes for:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eannotate in 3.14 causing exceptions: \u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1971\"\u003emicrosoft/debugpy#1971\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse remote_exec if available: \u003ca href=\"https://github.com/microsoft/debugpy/commit/c7e86a1954381ceadb2ea398fc60079deef91358\"\u003ehttps://github.com/microsoft/debugpy/commit/c7e86a1954381ceadb2ea398fc60079deef91358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport more architectures: \u003ca href=\"https://github.com/microsoft/debugpy/commit/1bbecdf366016c58e62a076b46d4f3c00aea097f\"\u003ehttps://github.com/microsoft/debugpy/commit/1bbecdf366016c58e62a076b46d4f3c00aea097f\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eInfrastructure work:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport devcontainers for development: \u003ca href=\"https://github.com/microsoft/debugpy/commit/7dbc2292b1a23e5ae80db67a1b25f002bd104776\"\u003ehttps://github.com/microsoft/debugpy/commit/7dbc2292b1a23e5ae80db67a1b25f002bd104776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/rameshvarun\"\u003e\u003ccode\u003e@​rameshvarun\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Xeonacid\"\u003e\u003ccode\u003e@​Xeonacid\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/pdepetro\"\u003e\u003ccode\u003e@​pdepetro\u003c/code\u003e\u003c/a\u003e for the commits\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/microsoft/debugpy/commit/7ac3d1f2c65ccf6b2e62a762863093f0242179f0\"\u003e\u003ccode\u003e7ac3d1f\u003c/code\u003e\u003c/a\u003e Try 6 on this file (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1995\"\u003e#1995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/e1646137a8346292a528b2899c7c8a8fe8d60224\"\u003e\u003ccode\u003ee164613\u003c/code\u003e\u003c/a\u003e O365 new advice (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1994\"\u003e#1994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/4cbf8b1ce99a856b032470c19c3261195e137ca2\"\u003e\u003ccode\u003e4cbf8b1\u003c/code\u003e\u003c/a\u003e Try another suppression (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1993\"\u003e#1993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/ea9fcaeb59482ad97c51cbe584247f30a0c7ae2d\"\u003e\u003ccode\u003eea9fcae\u003c/code\u003e\u003c/a\u003e Try a different way to suppress binskim problems (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1992\"\u003e#1992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/ea2746aafcd830a96a2144c3f636ba587f90a15d\"\u003e\u003ccode\u003eea2746a\u003c/code\u003e\u003c/a\u003e Add LTCG flags to compile_windows.bat for BinSkim BA6006 compliance (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1991\"\u003e#1991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/7dbc2292b1a23e5ae80db67a1b25f002bd104776\"\u003e\u003ccode\u003e7dbc229\u003c/code\u003e\u003c/a\u003e Added devcontainer specification (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1989\"\u003e#1989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/bb450fc27202cdf0676343dc0150be962b627233\"\u003e\u003ccode\u003ebb450fc\u003c/code\u003e\u003c/a\u003e Fix: Treat \u003cstrong\u003eannotate\u003c/strong\u003e functions as library code in Python 3.14+ (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/1bbecdf366016c58e62a076b46d4f3c00aea097f\"\u003e\u003ccode\u003e1bbecdf\u003c/code\u003e\u003c/a\u003e Better experience for unsupported arch (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1984\"\u003e#1984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/c7e86a1954381ceadb2ea398fc60079deef91358\"\u003e\u003ccode\u003ec7e86a1\u003c/code\u003e\u003c/a\u003e Use sys.remote_exec() to attach to pid, if available (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1986\"\u003e#1986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/microsoft/debugpy/compare/v1.8.19...v1.8.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `greenlet` from 3.3.0 to 3.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst\"\u003egreenlet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.3.1 (2026-01-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePublish Windows ARM binary wheels, where available.\u003c/li\u003e\n\u003cli\u003eFix compilation for 3.14t on Windows.\u003c/li\u003e\n\u003cli\u003ePublish Windows 3.14t binary wheels for Intel.\u003c/li\u003e\n\u003cli\u003eSwitch from Appveyor for Windows to Github Actions.\u003c/li\u003e\n\u003cli\u003eFix compilation on MIPS with GCC 15 and binutils 2.45. See \u003ccode\u003ePR 487 by Rosen Penev \u0026lt;https://github.com/python-greenlet/greenlet/pull/487\u0026gt;\u003c/code\u003e_. Note that\nthis is not a platform tested by this project's CI.\u003c/li\u003e\n\u003cli\u003eMove most project metadata into the static \u003ccode\u003epyproject.toml\u003c/code\u003e file.\nThis updates licensing information to use the modern\n\u003ccode\u003eLicense-Expression\u003c/code\u003e field. See \u003ccode\u003ePR 480 by mrbean-bremen \u0026lt;https://github.com/python-greenlet/greenlet/pull/480/\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d1a0a3fa740425b8dd4dceafbecedda21d70cc08\"\u003e\u003ccode\u003ed1a0a3f\u003c/code\u003e\u003c/a\u003e Preparing release 3.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/bb11806a5b59bda374d097bd3479874c6651daab\"\u003e\u003ccode\u003ebb11806\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/482\"\u003e#482\u003c/a\u003e from tacaswell/cp315_compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/07089655734136eb5a78b67607d1c493e0155301\"\u003e\u003ccode\u003e0708965\u003c/code\u003e\u003c/a\u003e Change note for \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/480\"\u003e#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/62ff68fbe3b01a51f0c113537bfd71c466e2bf4f\"\u003e\u003ccode\u003e62ff68f\u003c/code\u003e\u003c/a\u003e pyproject: It's tool.zest-releaser, not tools.zest-releaser.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/7081130b399dd47602a90e75924c5c5cd66b6085\"\u003e\u003ccode\u003e7081130\u003c/code\u003e\u003c/a\u003e Move most of setuptools attributes to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/b462f7521ca17947720d879c15dec7c5147812af\"\u003e\u003ccode\u003eb462f75\u003c/code\u003e\u003c/a\u003e Add change note for \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/487\"\u003e#487\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/918e88850ffba91ec7492f42e7e33b7ff2c90534\"\u003e\u003ccode\u003e918e888\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/486\"\u003e#486\u003c/a\u003e from python-greenlet/dependabot/github_actions/github...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/c5e2e6f7e674d26f418fb2e3c3cc851e80c92cc7\"\u003e\u003ccode\u003ec5e2e6f\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/54f257d775cea6ef16b80ea5aa69e18ffba553db\"\u003e\u003ccode\u003e54f257d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/487\"\u003e#487\u003c/a\u003e from neheb/mips\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/b2cf41d90f9b654029ce6039293511da91a46b35\"\u003e\u003ccode\u003eb2cf41d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/490\"\u003e#490\u003c/a\u003e from python-greenlet/windows-on-github\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-greenlet/greenlet/compare/3.3.0...3.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyright` from 1.1.407 to 1.1.408\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RobertCraigie/pyright-python/commit/81b795a41ddcc3c77218d8c8e406983e39852285\"\u003e\u003ccode\u003e81b795a\u003c/code\u003e\u003c/a\u003e Pyright NPM Package update to 1.1.408 (\u003ca href=\"https://redirect.github.com/RobertCraigie/pyright-python/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RobertCraigie/pyright-python/compare/v1.1.407...v1.1.408\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.10 to 0.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-03.\u003c/p\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.15.0\"\u003eblog post\u003c/a\u003e for a migration guide and overview of the changes!\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRuff now formats your code according to the 2026 style guide. See the formatter section below or in the blog post for a detailed list of changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe linter now supports block suppression comments. For example, to suppress \u003ccode\u003eN803\u003c/code\u003e for all parameters in this function:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e# ruff: disable[N803]\ndef foo(\n    legacyArg1,\n    legacyArg2,\n    legacyArg3,\n    legacyArg4,\n): ...\n# ruff: enable[N803]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the \u003ca href=\"https://docs.astral.sh/ruff/linter/#block-level\"\u003edocumentation\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:alpine\u003c/code\u003e Docker image is now based on Alpine 3.23 (up from 3.21).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:debian\u003c/code\u003e and \u003ccode\u003eruff:debian-slim\u003c/code\u003e Docker images are now based on Debian 13 \u0026quot;Trixie\u0026quot; instead of Debian 12 \u0026quot;Bookworm.\u0026quot;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinaries for the \u003ccode\u003eppc64\u003c/code\u003e (64-bit big-endian PowerPC) architecture are no longer included in our releases. It should still be possible to build Ruff manually for this platform, if needed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRuff now resolves all \u003ccode\u003eextend\u003c/code\u003eed configuration files before falling back on a default Python version.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStabilization\u003c/h3\u003e\n\u003cp\u003eThe following rules have been stabilized and are no longer in preview:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-http-call-httpx-in-async-function\"\u003e\u003ccode\u003eblocking-http-call-httpx-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC212\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-path-method-in-async-function\"\u003e\u003ccode\u003eblocking-path-method-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC240\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-input-in-async-function\"\u003e\u003ccode\u003eblocking-input-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC250\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/map-without-explicit-strict\"\u003e\u003ccode\u003emap-without-explicit-strict\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eB912\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/if-exp-instead-of-or-operator\"\u003e\u003ccode\u003eif-exp-instead-of-or-operator\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eFURB110\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/single-item-membership-test\"\u003e\u003ccode\u003esingle-item-membership-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eFURB171\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/missing-maxsplit-arg\"\u003e\u003ccode\u003emissing-maxsplit-arg\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePLC0207\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/unnecessary-lambda\"\u003e\u003ccode\u003eunnecessary-lambda\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePLW0108\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/unnecessary-empty-iterable-within-deque-call\"\u003e\u003ccode\u003eunnecessary-empty-iterable-within-deque-call\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF037\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/in-empty-collection\"\u003e\u003ccode\u003ein-empty-collection\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF060\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/legacy-form-pytest-raises\"\u003e\u003ccode\u003elegacy-form-pytest-raises\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF061\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/non-octal-permissions\"\u003e\u003ccode\u003enon-octal-permissions\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF064\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-03.\u003c/p\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.15.0\"\u003eblog post\u003c/a\u003e for a migration\nguide and overview of the changes!\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRuff now formats your code according to the 2026 style guide. See the formatter section below or in the blog post for a detailed list of changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe linter now supports block suppression comments. For example, to suppress \u003ccode\u003eN803\u003c/code\u003e for all parameters in this function:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e# ruff: disable[N803]\ndef foo(\n    legacyArg1,\n    legacyArg2,\n    legacyArg3,\n    legacyArg4,\n): ...\n# ruff: enable[N803]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the \u003ca href=\"https://docs.astral.sh/ruff/linter/#block-level\"\u003edocumentation\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:alpine\u003c/code\u003e Docker image is now based on Alpine 3.23 (up from 3.21).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:debian\u003c/code\u003e and \u003ccode\u003eruff:debian-slim\u003c/code\u003e Docker images are now based on Debian 13 \u0026quot;Trixie\u0026quot; instead of Debian 12 \u0026quot;Bookworm.\u0026quot;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinaries for the \u003ccode\u003eppc64\u003c/code\u003e (64-bit big-endian PowerPC) architecture are no longer included in our releases. It should still be possible to build Ruff manually for this platform, if needed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRuff now resolves all \u003ccode\u003eextend\u003c/code\u003eed configuration files before falling back on a default Python version.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStabilization\u003c/h3\u003e\n\u003cp\u003eThe following rules have been stabilized and are no longer in preview:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-http-call-httpx-in-async-function\"\u003e\u003ccode\u003eblocking-http-call-httpx-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC212\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-path-method-in-async-function\"\u003e\u003ccode\u003eblocking-path-method-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC240\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-input-in-async-function\"\u003e\u003ccode\u003eblocking-input-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC250\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/map-without-explicit-strict\"\u003e\u003ccode\u003emap-without-explicit-strict\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eB912\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/if-exp-instead-of-or-operator\"\u003e\u003ccode\u003eif-exp-instead-of-or-operator\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eFURB110\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/single-item-membership-test\"\u003e\u003ccode\u003esingle-item-membership-test\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eFURB171\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ce5f7b6127a5d684e96fd0f8e387f73c41c7a1b0\"\u003e\u003ccode\u003ece5f7b6\u003c/code\u003e\u003c/a\u003e Bump 0.15.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23055\"\u003e#23055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b4e40f539cdbafac8afd6e510994ca64c3b317b9\"\u003e\u003ccode\u003eb4e40f5\u003c/code\u003e\u003c/a\u003e [ty] Fix \u003ccode\u003e__contains__\u003c/code\u003e to respect descriptors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23056\"\u003e#23056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/848cb72dc14b4c9409bf08e8323b4119d6b90005\"\u003e\u003ccode\u003e848cb72\u003c/code\u003e\u003c/a\u003e [ty] Fix narrowing of nonlocal variables with conditional assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22966\"\u003e#22966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/da7f33af22c7da3f3cb9321f776dda4131dda3cb\"\u003e\u003ccode\u003eda7f33a\u003c/code\u003e\u003c/a\u003e [ty] Add a diagnostic for \u003ccode\u003eFinal\u003c/code\u003e without assignment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23001\"\u003e#23001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e65f9a6b039fa411e5609a7bda9bb7ffd11e9b1a\"\u003e\u003ccode\u003ee65f9a6\u003c/code\u003e\u003c/a\u003e Document markdown formatting feature (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22990\"\u003e#22990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c0c1b985c9ec4b3570b0a28af69ad6776a3ec401\"\u003e\u003ccode\u003ec0c1b98\u003c/code\u003e\u003c/a\u003e Format markdown code blocks with line-by-line regex parse (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22996\"\u003e#22996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9f8f3e196bd6d4f2c572075536dd38b769c48087\"\u003e\u003ccode\u003e9f8f3e1\u003c/code\u003e\u003c/a\u003e Allow positional-only params with defaults in method overrides (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23037\"\u003e#23037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ef83810e118e3e41aa6c63f87f8a8147363a3e56\"\u003e\u003ccode\u003eef83810\u003c/code\u003e\u003c/a\u003e [ty] ecosystem-analyzer: Support bare git repositories (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23054\"\u003e#23054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/54dfee4cb800c0b0890b2b2c74c64cc45584194c\"\u003e\u003ccode\u003e54dfee4\u003c/code\u003e\u003c/a\u003e Customize where the \u003ccode\u003efix_title\u003c/code\u003e sub-diagnostic appears (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23044\"\u003e#23044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b53460799b592e5276e1d148d8a48469f396032e\"\u003e\u003ccode\u003eb534607\u003c/code\u003e\u003c/a\u003e 2026 Ruff Formatter Style (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22735\"\u003e#22735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.10...0.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tombi` from 0.7.14 to 0.7.26\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tombi-toml/tombi/releases\"\u003etombi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.26\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🚀 New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support \u003ccode\u003e.tombi.toml\u003c/code\u003e config. by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1476\"\u003etombi-toml/tombi#1476\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠️ Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: use log crate. by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1474\"\u003etombi-toml/tombi#1474\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tombi-toml/tombi/compare/v0.7.25...v0.7.26\"\u003ehttps://github.com/tombi-toml/tombi/compare/v0.7.25...v0.7.26\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.7.25\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🛠️ Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: update JSON schema to use patternProperties and disable additionalProperties for better validation by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1465\"\u003etombi-toml/tombi#1465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: update schema URI in goto definition test to use HTTPS by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1466\"\u003etombi-toml/tombi#1466\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add File completion kind and update related completion logic by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1467\"\u003etombi-toml/tombi#1467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: implement file path completions and refactor related completion logic by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1468\"\u003etombi-toml/tombi#1468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: completion hint. by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1469\"\u003etombi-toml/tombi#1469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd completion label tombi by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1470\"\u003etombi-toml/tombi#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd completion pyproject file completion by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1472\"\u003etombi-toml/tombi#1472\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tombi-toml/tombi/compare/v0.7.24...v0.7.25\"\u003ehttps://github.com/tombi-toml/tombi/compare/v0.7.24...v0.7.25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.7.24\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🛠️ Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add environment variable support to set...\n\n_Description has been truncated_","html_url":"https://github.com/donvargax/adk-ddd/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/donvargax%2Fadk-ddd/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"3894260733","node_id":"PR_kwDOQ54Gg87BWUfz","number":4,"state":"closed","title":"Bump the uv-dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-11T02:49:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-04T02:50:19.000Z","updated_at":"2026-02-11T02:49:55.000Z","time_to_close":604775,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"uv-dependencies","update_count":12,"packages":[{"name":"google-adk","old_version":"1.21.0","new_version":"1.23.0","repository_url":"https://github.com/google/adk-python"},{"name":"opentelemetry-instrumentation-google-genai","old_version":"0.5b0","new_version":"0.6b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"gcsfs","old_version":"2025.12.0","new_version":"2026.1.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"protobuf","old_version":"6.33.2","new_version":"6.33.4","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"pytest-asyncio","old_version":"0.26.0","new_version":"1.3.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"build","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pypa/build"},{"name":"greenlet","old_version":"3.3.0","new_version":"3.3.1","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"pyright","old_version":"1.1.407","new_version":"1.1.408","repository_url":"https://github.com/RobertCraigie/pyright-python"},{"name":"ruff","old_version":"0.14.10","new_version":"0.14.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"tombi","old_version":"0.7.14","new_version":"0.7.25","repository_url":"https://github.com/tombi-toml/tombi"},{"name":"uv","old_version":"0.9.21","new_version":"0.9.27","repository_url":"https://github.com/astral-sh/uv"},{"name":"types-requests","old_version":"2.32.4.20250913","new_version":"2.32.4.20260107","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv-dependencies group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [google-adk](https://github.com/google/adk-python) | `1.21.0` | `1.23.0` |\n| [opentelemetry-instrumentation-google-genai](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.5b0` | `0.6b0` |\n| [gcsfs](https://github.com/fsspec/gcsfs) | `2025.12.0` | `2026.1.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.2` | `6.33.4` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `0.26.0` | `1.3.0` |\n| [build](https://github.com/pypa/build) | `1.3.0` | `1.4.0` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.3.0` | `3.3.1` |\n| [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.407` | `1.1.408` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.10` | `0.14.14` |\n| [tombi](https://github.com/tombi-toml/tombi) | `0.7.14` | `0.7.25` |\n| [uv](https://github.com/astral-sh/uv) | `0.9.21` | `0.9.27` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.4.20250913` | `2.32.4.20260107` |\n\n\nUpdates `google-adk` from 1.21.0 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.22.1...v1.23.0\"\u003e1.23.0\u003c/a\u003e (2026-01-22)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking: Use OpenTelemetry for BigQuery plugin tracing, replacing custom \u003ccode\u003eContextVar\u003c/code\u003e implementation (\u003ca href=\"https://github.com/google/adk-python/commit/ab89d1283430041afb303834749869e9ee331721\"\u003eab89d12\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support to automatically create a session if one does not exist (\u003ca href=\"https://github.com/google/adk-python/commit/8e69a58df4eadeccbb100b7264bb518a46b61fd7\"\u003e8e69a58\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e@experimental\u003c/code\u003e decorator from \u003ccode\u003eAgentEngineSandboxCodeExecutor\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/135f7633253f6a415302142abc3579b664601d5b\"\u003e135f763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--disable_features\u003c/code\u003e CLI option to override default feature enable state (\u003ca href=\"https://github.com/google/adk-python/commit/53b67ce6340f3f3f8c3d732f9f7811e445c76359\"\u003e53b67ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel_to_cloud\u003c/code\u003e flag to \u003ccode\u003eadk deploy agent_engine\u003c/code\u003e command (\u003ca href=\"https://github.com/google/adk-python/commit/21f63f66ee424501d9a70806277463ef718ae843\"\u003e21f63f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eis_computer_use\u003c/code\u003e field to agent information in \u003ccode\u003eadk-web\u003c/code\u003e server (\u003ca href=\"https://github.com/google/adk-python/commit/5923da786eb1aaef6f0bcbc6adc906cbc8bf9b36\"\u003e5923da7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003ethinking_config\u003c/code\u003e in \u003ccode\u003egenerate_content_config\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/e162bb8832a806e2380048e39165bf837455f88c\"\u003ee162bb8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConvert A2UI messages between A2A \u003ccode\u003eDataPart\u003c/code\u003e metadata and ADK events (\u003ca href=\"https://github.com/google/adk-python/commit/1133ce219c5a7a9a85222b03e348ba6b13830c8f\"\u003e1133ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--enable_features\u003c/code\u003e CLI option to override default feature enable state (\u003ca href=\"https://github.com/google/adk-python/commit/79fcddb39f71a4c1342e63b4d67832b3eccb2652\"\u003e79fcddb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd flush mechanism to \u003ccode\u003eBigQueryAgentAnalyticsPlugin\u003c/code\u003e to ensure pending log events are written to BigQuery (\u003ca href=\"https://github.com/google/adk-python/commit/9579bea05d946b3d8b4bfec35e510725dd371224\"\u003e9579bea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow Google Search tool to set a different model (\u003ca href=\"https://github.com/google/adk-python/commit/b57a3d43e4656f5a3c5db53addff02b67d1fde26\"\u003eb57a3d4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport authentication for MCP tool listing (\u003ca href=\"https://github.com/google/adk-python/commit/e3d542a5ba3d357407f8cd29cfdd722f583c8564\"\u003ee3d542a\u003c/a\u003e \u003ca href=\"https://github.com/google/adk-python/commit/19315fe557039fa8bf446525a4830b1c9f40cba9\"\u003e19315fe\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003ebase_retrieval_tool\u003c/code\u003e, \u003ccode\u003eload_artifacts_tool\u003c/code\u003e, and \u003ccode\u003eload_memory_tool\u003c/code\u003e declarations when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/69ad605bc4bbe9a4f018127fd3625169ee70488e\"\u003e69ad605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003eIntegrationConnectorTool\u003c/code\u003e declaration when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/2ed686527ac75ff64128ce7d9b1a3befc2b37c64\"\u003e2ed6865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStart and close \u003ccode\u003eClientSession\u003c/code\u003e in a single task in \u003ccode\u003eMcpSessionManager\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/cce430da799766686e65f6cae02ba64e916d5c8a\"\u003ecce430d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003eRestApiTool\u003c/code\u003e declaration when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/a5f0d333d7f26f2966ed511d5d9def7a1933f0c2\"\u003ea5f0d33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Evals]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003eadk eval\u003c/code\u003e CLI to consume custom metrics by adding \u003ccode\u003eCustomMetricEvaluator\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/ea0934b9934c1fefd129a1026d6af369f126870e\"\u003eea0934b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eEvalConfig\u003c/code\u003e and \u003ccode\u003eEvalMetric\u003c/code\u003e data models to support custom metrics (\u003ca href=\"https://github.com/google/adk-python/commit/6d2f33a59cfba358dd758378290125fc2701c411\"\u003e6d2f33a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Observability]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd minimal \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e spans and logs for non-Gemini inference and when \u003ccode\u003eopentelemetry-inference-google-genai\u003c/code\u003e dependency is missing (\u003ca href=\"https://github.com/google/adk-python/commit/935c279f8281bde99224f03d936b8abe51cbabfc\"\u003e935c279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Integrations]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnhance \u003ccode\u003eTraceManager\u003c/code\u003e asynchronous safety, enrich BigQuery plugin logging, and fix serialization (\u003ca href=\"https://github.com/google/adk-python/commit/a4116a6cbfadc161982af5dabd55a711d79348b7\"\u003ea4116a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Live]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePersist user input content to session in live mode (\u003ca href=\"https://github.com/google/adk-python/commit/a04828dd8a848482acbd48acc7da432d0d2cb0aa\"\u003ea04828d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecursively extract input/output schema for AgentTool (\u003ca href=\"https://github.com/google/adk-python/commit/bf2b56de6d0052e40b6d871b2d22c56e9225e145\"\u003ebf2b56d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eYield buffered \u003ccode\u003efunction_call\u003c/code\u003e and \u003ccode\u003efunction_response\u003c/code\u003e events during live streaming (\u003ca href=\"https://github.com/google/adk-python/commit/7b25b8fb1daf54d7694bf405d545d46d2c012d2b\"\u003e7b25b8f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eauthlib\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e dependency versions (\u003ca href=\"https://github.com/google/adk-python/commit/7955177fb28b8e5dc19aae8be94015a7b5d9882a\"\u003e7955177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eLITELLM_MODE\u003c/code\u003e to \u003ccode\u003ePRODUCTION\u003c/code\u003e before importing LiteLLM to prevent implicit \u003ccode\u003e.env\u003c/code\u003e file loading (\u003ca href=\"https://github.com/google/adk-python/commit/215c2f506e21a3d8c39551b80f6356943ecae320\"\u003e215c2f5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRedact sensitive information from URIs in logs (\u003ca href=\"https://github.com/google/adk-python/commit/5257869d91a77ebd1381538a85e7fdc3a600da90\"\u003e5257869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle asynchronous driver URLs in the migration tool (\u003ca href=\"https://github.com/google/adk-python/commit/4b29d15b3e5df65f3503daffa6bc7af85159507b\"\u003e4b29d15\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove custom metadata from A2A response events (\u003ca href=\"https://github.com/google/adk-python/commit/81eaeb5eba6d40cde0cf6147d96921ed1bf7bb31\"\u003e81eaeb5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.22.1...v1.23.0\"\u003e1.23.0\u003c/a\u003e (2026-01-22)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking: Use OpenTelemetry for BigQuery plugin tracing, replacing custom \u003ccode\u003eContextVar\u003c/code\u003e implementation (\u003ca href=\"https://github.com/google/adk-python/commit/ab89d1283430041afb303834749869e9ee331721\"\u003eab89d12\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support to automatically create a session if one does not exist (\u003ca href=\"https://github.com/google/adk-python/commit/8e69a58df4eadeccbb100b7264bb518a46b61fd7\"\u003e8e69a58\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e@experimental\u003c/code\u003e decorator from \u003ccode\u003eAgentEngineSandboxCodeExecutor\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/135f7633253f6a415302142abc3579b664601d5b\"\u003e135f763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--disable_features\u003c/code\u003e CLI option to override default feature enable state (\u003ca href=\"https://github.com/google/adk-python/commit/53b67ce6340f3f3f8c3d732f9f7811e445c76359\"\u003e53b67ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel_to_cloud\u003c/code\u003e flag to \u003ccode\u003eadk deploy agent_engine\u003c/code\u003e command (\u003ca href=\"https://github.com/google/adk-python/commit/21f63f66ee424501d9a70806277463ef718ae843\"\u003e21f63f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eis_computer_use\u003c/code\u003e field to agent information in \u003ccode\u003eadk-web\u003c/code\u003e server (\u003ca href=\"https://github.com/google/adk-python/commit/5923da786eb1aaef6f0bcbc6adc906cbc8bf9b36\"\u003e5923da7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003ethinking_config\u003c/code\u003e in \u003ccode\u003egenerate_content_config\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/e162bb8832a806e2380048e39165bf837455f88c\"\u003ee162bb8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConvert A2UI messages between A2A \u003ccode\u003eDataPart\u003c/code\u003e metadata and ADK events (\u003ca href=\"https://github.com/google/adk-python/commit/1133ce219c5a7a9a85222b03e348ba6b13830c8f\"\u003e1133ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--enable_features\u003c/code\u003e CLI option to override default feature enable state (\u003ca href=\"https://github.com/google/adk-python/commit/79fcddb39f71a4c1342e63b4d67832b3eccb2652\"\u003e79fcddb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd flush mechanism to \u003ccode\u003eBigQueryAgentAnalyticsPlugin\u003c/code\u003e to ensure pending log events are written to BigQuery (\u003ca href=\"https://github.com/google/adk-python/commit/9579bea05d946b3d8b4bfec35e510725dd371224\"\u003e9579bea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow Google Search tool to set a different model (\u003ca href=\"https://github.com/google/adk-python/commit/b57a3d43e4656f5a3c5db53addff02b67d1fde26\"\u003eb57a3d4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport authentication for MCP tool listing (\u003ca href=\"https://github.com/google/adk-python/commit/e3d542a5ba3d357407f8cd29cfdd722f583c8564\"\u003ee3d542a\u003c/a\u003e \u003ca href=\"https://github.com/google/adk-python/commit/19315fe557039fa8bf446525a4830b1c9f40cba9\"\u003e19315fe\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003ebase_retrieval_tool\u003c/code\u003e, \u003ccode\u003eload_artifacts_tool\u003c/code\u003e, and \u003ccode\u003eload_memory_tool\u003c/code\u003e declarations when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/69ad605bc4bbe9a4f018127fd3625169ee70488e\"\u003e69ad605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003eIntegrationConnectorTool\u003c/code\u003e declaration when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/2ed686527ac75ff64128ce7d9b1a3befc2b37c64\"\u003e2ed6865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStart and close \u003ccode\u003eClientSession\u003c/code\u003e in a single task in \u003ccode\u003eMcpSessionManager\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/cce430da799766686e65f6cae02ba64e916d5c8a\"\u003ecce430d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003eRestApiTool\u003c/code\u003e declaration when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/a5f0d333d7f26f2966ed511d5d9def7a1933f0c2\"\u003ea5f0d33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Evals]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003eadk eval\u003c/code\u003e CLI to consume custom metrics by adding \u003ccode\u003eCustomMetricEvaluator\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/ea0934b9934c1fefd129a1026d6af369f126870e\"\u003eea0934b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eEvalConfig\u003c/code\u003e and \u003ccode\u003eEvalMetric\u003c/code\u003e data models to support custom metrics (\u003ca href=\"https://github.com/google/adk-python/commit/6d2f33a59cfba358dd758378290125fc2701c411\"\u003e6d2f33a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Observability]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd minimal \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e spans and logs for non-Gemini inference and when \u003ccode\u003eopentelemetry-inference-google-genai\u003c/code\u003e dependency is missing (\u003ca href=\"https://github.com/google/adk-python/commit/935c279f8281bde99224f03d936b8abe51cbabfc\"\u003e935c279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Integrations]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnhance \u003ccode\u003eTraceManager\u003c/code\u003e asynchronous safety, enrich BigQuery plugin logging, and fix serialization (\u003ca href=\"https://github.com/google/adk-python/commit/a4116a6cbfadc161982af5dabd55a711d79348b7\"\u003ea4116a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Live]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePersist user input content to session in live mode (\u003ca href=\"https://github.com/google/adk-python/commit/a04828dd8a848482acbd48acc7da432d0d2cb0aa\"\u003ea04828d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecursively extract input/output schema for AgentTool (\u003ca href=\"https://github.com/google/adk-python/commit/bf2b56de6d0052e40b6d871b2d22c56e9225e145\"\u003ebf2b56d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eYield buffered \u003ccode\u003efunction_call\u003c/code\u003e and \u003ccode\u003efunction_response\u003c/code\u003e events during live streaming (\u003ca href=\"https://github.com/google/adk-python/commit/7b25b8fb1daf54d7694bf405d545d46d2c012d2b\"\u003e7b25b8f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eauthlib\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e dependency versions (\u003ca href=\"https://github.com/google/adk-python/commit/7955177fb28b8e5dc19aae8be94015a7b5d9882a\"\u003e7955177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eLITELLM_MODE\u003c/code\u003e to \u003ccode\u003ePRODUCTION\u003c/code\u003e before importing LiteLLM to prevent implicit \u003ccode\u003e.env\u003c/code\u003e file loading (\u003ca href=\"https://github.com/google/adk-python/commit/215c2f506e21a3d8c39551b80f6356943ecae320\"\u003e215c2f5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRedact sensitive information from URIs in logs (\u003ca href=\"https://github.com/google/adk-python/commit/5257869d91a77ebd1381538a85e7fdc3a600da90\"\u003e5257869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle asynchronous driver URLs in the migration tool (\u003ca href=\"https://github.com/google/adk-python/commit/4b29d15b3e5df65f3503daffa6bc7af85159507b\"\u003e4b29d15\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove custom metadata from A2A response events (\u003ca href=\"https://github.com/google/adk-python/commit/81eaeb5eba6d40cde0cf6147d96921ed1bf7bb31\"\u003e81eaeb5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eNone\u003c/code\u003e inferences in eval results (\u003ca href=\"https://github.com/google/adk-python/commit/7d4326c3606a7ff2ba3c0fdef08d4f6af52ee71e\"\u003e7d4326c\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/google/adk-python/commit/7cf1e447d7f7d66d68a3b8c4bd9a77c5973fe6f7\"\u003e\u003ccode\u003e7cf1e44\u003c/code\u003e\u003c/a\u003e chore: Bumps version to v1.23.0 and updates CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3f1b0d0957e7c92c9f6ae82c0c7a14856c2f5744\"\u003e\u003ccode\u003e3f1b0d0\u003c/code\u003e\u003c/a\u003e chore: minor fix for DebugLoggingPlugin example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/935c279f8281bde99224f03d936b8abe51cbabfc\"\u003e\u003ccode\u003e935c279\u003c/code\u003e\u003c/a\u003e feat(otel): add minimal \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e spans and logs for no...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/82fa10b71e037b565cb407c82e9e908432dab0ff\"\u003e\u003ccode\u003e82fa10b\u003c/code\u003e\u003c/a\u003e feat: add new conversational analytics api tool set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/bf2b56de6d0052e40b6d871b2d22c56e9225e145\"\u003e\u003ccode\u003ebf2b56d\u003c/code\u003e\u003c/a\u003e fix: recursively extract input/output schema for AgentTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3d96b7883bf12f82e5906b2bbde42803f57f1ee6\"\u003e\u003ccode\u003e3d96b78\u003c/code\u003e\u003c/a\u003e chore: Pin litellm dependency to versions below 1.80.17\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/91ec80c606b812a6e92e62056e3ee546db1414ff\"\u003e\u003ccode\u003e91ec80c\u003c/code\u003e\u003c/a\u003e docs: fixing multiple typos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/295b34558774d1f64022009980e3edd8eb79527b\"\u003e\u003ccode\u003e295b345\u003c/code\u003e\u003c/a\u003e chore:  Filter out \u003ccode\u003eadk_request_input\u003c/code\u003e event from content list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b57a3d43e4656f5a3c5db53addff02b67d1fde26\"\u003e\u003ccode\u003eb57a3d4\u003c/code\u003e\u003c/a\u003e feat: Allow google search tool to set different model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/9579bea05d946b3d8b4bfec35e510725dd371224\"\u003e\u003ccode\u003e9579bea\u003c/code\u003e\u003c/a\u003e feat(plugins): Add flush mechanism to BigQueryAgentAnalyticsPlugin\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.21.0...v1.23.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-google-genai` from 0.5b0 to 0.6b0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/releases\"\u003eopentelemetry-instrumentation-google-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopentelemetry-instrumentation-google-genai 0.6b0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable the addition of custom attributes to the \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e span via the Context API. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3961\"\u003e#3961\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEnable the addition of custom attributes to \u003ccode\u003egen_ai.client.inference.operation.details\u003c/code\u003e log events (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4103\"\u003e#4103\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-google-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.6b0 (2020-03-30)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-ext-flask\u003c/code\u003e Add an entry_point to be usable in auto-instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/327\"\u003e#327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-ext-grpc\u003c/code\u003e Add gRPC integration\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/476\"\u003e#476\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\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gcsfs` from 2025.12.0 to 2026.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/3ed414aa2c5e5a78556726be11d663ff346bab40\"\u003e\u003ccode\u003e3ed414a\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/bca0139193d8dd8103fc52bfa5caf2ffd2172e6a\"\u003e\u003ccode\u003ebca0139\u003c/code\u003e\u003c/a\u003e Implement async upload methods and support async mode in ExtendedGcsfs (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9d64f5c5c74c59c840f440f82288f047bf557a3f\"\u003e\u003ccode\u003e9d64f5c\u003c/code\u003e\u003c/a\u003e mkdir override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/4f9f4ac35f1df42dacfb56f9be200730058fd5ef\"\u003e\u003ccode\u003e4f9f4ac\u003c/code\u003e\u003c/a\u003e reformat benchmark readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/cdd65f5808f6864bd8bed08e7bb7a9359ab0cbe7\"\u003e\u003ccode\u003ecdd65f5\u003c/code\u003e\u003c/a\u003e Adds GCSFS Microbenchmarks (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/722\"\u003e#722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c8ed96a77d027115b436cd9062825f703955b891\"\u003e\u003ccode\u003ec8ed96a\u003c/code\u003e\u003c/a\u003e ✨ Support alternative GCP Universes (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e03bf2949664282d4eb09ba18c62a2d98085cba9\"\u003e\u003ccode\u003ee03bf29\u003c/code\u003e\u003c/a\u003e Override info for hns (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14276d82827f21c1ee6b736ff7896ae4211cc726\"\u003e\u003ccode\u003e14276d8\u003c/code\u003e\u003c/a\u003e Update ci pipeline to run tests on HNS bucket (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/729\"\u003e#729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c5ac0e3e65154d4d5ec1d1de1566a7b1ea7781d3\"\u003e\u003ccode\u003ec5ac0e3\u003c/code\u003e\u003c/a\u003e feat(zb-write): Support write mode in Zonal File (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/06399c09003b66292bf25206e500796a8855ce72\"\u003e\u003ccode\u003e06399c0\u003c/code\u003e\u003c/a\u003e Adds mv/rename method implementation for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/727\"\u003e#727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.12.0...2026.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `protobuf` from 6.33.2 to 6.33.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/protocolbuffers/protobuf/releases\"\u003eprotobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eProtocol Buffers v34.0-rc1\u003c/h2\u003e\n\u003ch1\u003eAnnouncements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThis version includes breaking changes to: C++, Objective-C, PHP, Python.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e[Bazel] Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make generator headers private (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add a debug check that the target of CopyFrom is not a descendant of the source. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add [[nodiscard]] to many APIs. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make the arena-enabled constructors of \u003ccode\u003eRepeatedField\u003c/code\u003e, \u003ccode\u003eRepeatedPtrField\u003c/code\u003e, and \u003ccode\u003eMap\u003c/code\u003e private. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria that takes a raw pointer as an argument in favor of the overload that takes a unique_ptr. Remove macro PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() \u0026amp;\u0026amp; !is_repeated()) instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] All entity names have length limit (2afb0dc)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003egenerate_minimal_imports\u003c/code\u003e generation option warning (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Fix nullability annotations on some \u003ccode\u003eGPB*Dictionary\u003c/code\u003e types. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003e-[GPBFieldDescriptor optional]\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Other] Remove deprecated flag for enabling MSVC support (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  Add PHP typehints for setters and remove redundant GPBUtil checks (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25296\"\u003eprotocolbuffers/protobuf#25296\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  support default values for editions/proto2 (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25161\"\u003eprotocolbuffers/protobuf#25161\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise errors in OSS when assign bool to int/enum field in Python Proto. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_format/double_format from python proto text_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise ArributeError) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_precision from python proto json_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor.label (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/news/\"\u003eProtobuf News\u003c/a\u003e may include additional announcements or pre-announcements for upcoming changes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/support/migration/\"\u003eMigration Guide\u003c/a\u003e may include additional guidance for breaking changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBazel\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: cc_toolchain should prefer protoc when prebuilt flag is flipped. (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/25168\"\u003e#25168\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBreaking change: Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat(bazel): wire up prebuilt protoc toolchain (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/24115\"\u003e#24115\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate \u003ccode\u003eproto_descriptor_set\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/23369\"\u003e#23369\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eCompiler\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRuby codegen: support generation of rbs files (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/15633\"\u003e#15633\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid collision name problems between a message named \u003ccode\u003eXyz\u003c/code\u003e and a direct sibling enum named \u003ccode\u003eXyzView\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeneralizing and implementing ValidateFeatureSupport for both Options and Features during proto parsing (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with custom features outside of the \u003ccode\u003epb\u003c/code\u003e package. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix import option handling when include_imports isn't set. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug in STRICT check of namespaced enums to properly check for 'reserved 1 to max' (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent accidental stripping of \u003ccode\u003edebug_redact\u003c/code\u003e options via import option. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eC++\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd EnumerateEnumValues function. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/protocolbuffers/protobuf/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 0.26.0 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio 1.3.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.3.0\"\u003e1.3.0\u003c/a\u003e - 2025-11-10\u003c/h1\u003e\n\u003ch2\u003eRemoved\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1278\"\u003e#1278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for pytest 9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTested Python versions include free threaded Python 3.14t (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1274\"\u003e#1274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTests are run in the same pytest process, instead of spawning a subprocess with \u003ccode\u003epytest.Pytester.runpytest_subprocess\u003c/code\u003e. This prevents the test suite from accidentally using a system installation of pytest-asyncio, which could result in test errors. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1275\"\u003e#1275\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.2.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.2.0\"\u003e1.2.0\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e--asyncio-debug\u003c/code\u003e CLI option and \u003ccode\u003easyncio_debug\u003c/code\u003e configuration option to enable asyncio debug mode for the default event loop. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/980\"\u003e#980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003epytest.UsageError\u003c/code\u003e for invalid configuration values of \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e and \u003ccode\u003easyncio_default_test_loop_scope\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompatibility with the Pyright type checker (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRuntimeError: There is no current event loop in thread 'MainThread'\u003c/code\u003e when any test unsets the event loop (such as when using \u003ccode\u003easyncio.run\u003c/code\u003e and \u003ccode\u003easyncio.Runner\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1177\"\u003e#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecation warning when decorating an asynchronous fixture with \u003ccode\u003e@pytest.fixture\u003c/code\u003e in [strict]{.title-ref} mode. The warning message now refers to the correct package. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the minimum required version of tox to v4.28. This change is only relevant if you use the \u003ccode\u003etox.ini\u003c/code\u003e file provided by pytest-asyncio to run tests.\u003c/li\u003e\n\u003cli\u003eExtend dependency on typing-extensions\u0026gt;=4.12 from Python\u0026lt;3.10 to Python\u0026lt;3.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.1.1\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/v1.1.1\"\u003ev1.1.1\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cp\u003e- Addresses a build problem with setuptoos-scm \u0026gt;= 9 caused by invalid setuptools-scm configuration in pytest-asyncio. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1192\"\u003e#1192\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003epytest-asyncio 1.1.0\u003c/h2\u003e\n\u003ch1\u003eAdded\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePropagation of ContextVars from async fixtures to other fixtures and tests on Python 3.10 and older (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/127\"\u003e#127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCancellation of tasks when the \u003ccode\u003eloop_scope\u003c/code\u003e ends (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/200\"\u003e#200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarning when the current event loop is closed by a test\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixed\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/2e9695fcf8c5c514f30f57b7d14ab83846357b96\"\u003e\u003ccode\u003e2e9695f\u003c/code\u003e\u003c/a\u003e docs: Compile changelog for v1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/dd0e9ba3fa672fd6bf375004319742f8d3a50e12\"\u003e\u003ccode\u003edd0e9ba\u003c/code\u003e\u003c/a\u003e docs: Reference correct issue in news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4c31abe5bf46bca3c9bdc7b18405f3deba4145d0\"\u003e\u003ccode\u003e4c31abe\u003c/code\u003e\u003c/a\u003e Build(deps): Bump nh3 from 0.3.1 to 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/13e94770d7bb146c329ae0e02486c0a6b38f3772\"\u003e\u003ccode\u003e13e9477\u003c/code\u003e\u003c/a\u003e Link to migration guides from changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4d2cf3c36f47d7c4d563d401cdf229b35da34fbe\"\u003e\u003ccode\u003e4d2cf3c\u003c/code\u003e\u003c/a\u003e tests: handle Python 3.14 DefaultEventLoopPolicy deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ee3549b6efb729b934e370e2be8040b25b034010\"\u003e\u003ccode\u003eee3549b\u003c/code\u003e\u003c/a\u003e test: Remove obsolete test for the event_loop fixture.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7a67c82c5ae548f0968438e9dfa0f282d51c4597\"\u003e\u003ccode\u003e7a67c82\u003c/code\u003e\u003c/a\u003e tests: Fix failing test by preventing warning conversion to error.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a17b689a750d05b6fc9369f5fb2b06baaba83536\"\u003e\u003ccode\u003ea17b689\u003c/code\u003e\u003c/a\u003e test: add pytest config to isolated test directories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/18afc9df5a3153dc1fbdc4e11a56517ef95480df\"\u003e\u003ccode\u003e18afc9d\u003c/code\u003e\u003c/a\u003e fix(tests): replace runpytest_subprocess with runpytest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/cdc6bd1de75b4738289eafd546f5e27a0bfd3b41\"\u003e\u003ccode\u003ecdc6bd1\u003c/code\u003e\u003c/a\u003e Add support for pytest 9 and drop Python 3.9 support\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v0.26.0...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/releases\"\u003ebuild's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/940\"\u003e#940\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/943\"\u003e#943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1 (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/942\"\u003e#942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/950\"\u003e#950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/921\"\u003e#921\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/blob/main/CHANGELOG.rst\"\u003ebuild's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.4.0 (2026-01-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag\n(:pr:\u003ccode\u003e947\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e\n(:pr:\u003ccode\u003e940\u003c/code\u003e, :pr:\u003ccode\u003e943\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable\n(:pr:\u003ccode\u003e971\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1\n(:pr:\u003ccode\u003e960\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already\n(:pr:\u003ccode\u003e962\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review\n(:pr:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e\n(:pr:\u003ccode\u003e950\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy\n(:pr:\u003ccode\u003e944\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e\n(:pr:\u003ccode\u003e945\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name\n(PR :pr:\u003ccode\u003e970\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed\n(PR :pr:\u003ccode\u003e921\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/54f238d1664124e06a68c6c22fd5b1418fa5feb2\"\u003e\u003ccode\u003e54f238d\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.0 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/f219276a6e2c6c8222780ba518ce52444a91deaa\"\u003e\u003ccode\u003ef219276\u003c/code\u003e\u003c/a\u003e docs: first argument for _has_dependency is a name (\u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/7adb29e69d2744acc5391d3c58d234388a9ac0ed\"\u003e\u003ccode\u003e7adb29e\u003c/code\u003e\u003c/a\u003e fix: support UV environment variable (\u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/a40623b20de5d29c80b569283191d65e630f4fc0\"\u003e\u003ccode\u003ea40623b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/attest-build-provenance in the actions group (\u003ca href=\"https://redirect.github.com/pypa/build/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/c8fae3459dbe4456d82d705c6a3f1869b0b26e5c\"\u003e\u003ccode\u003ec8fae34\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories (\u003ca href=\"https://redirect.github.com/pypa/build/issues/965\"\u003e#965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/ed9c379f51abca7c0c0ae20bee66aa548d597dc3\"\u003e\u003ccode\u003eed9c379\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/0e44fd22f35c7b3c14d6410bbd8912dafba0e4a9\"\u003e\u003ccode\u003e0e44fd2\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003equiet\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/60e15ed4cb31209f0e07de750c831cdb3911c62c\"\u003e\u003ccode\u003e60e15ed\u003c/code\u003e\u003c/a\u003e chore: color defaults to True in 3.14 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/0486d9df2e6caf7c04a3991824093eb6a16e7f29\"\u003e\u003ccode\u003e0486d9d\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories (\u003ca href=\"https://redirect.github.com/pypa/build/issues/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/393b775480523247c1ad07b8da9bb8c23c5cd0fa\"\u003e\u003ccode\u003e393b775\u003c/code\u003e\u003c/a\u003e MNT: remove workaround for 3.14b1 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.3.0...1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `greenlet` from 3.3.0 to 3.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst\"\u003egreenlet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.3.1 (2026-01-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePublish Windows ARM binary wheels, where available.\u003c/li\u003e\n\u003cli\u003eFix compilation for 3.14t on Windows.\u003c/li\u003e\n\u003cli\u003ePublish Windows 3.14t binary wheels for Intel.\u003c/li\u003e\n\u003cli\u003eSwitch from Appveyor for Windows to Github Actions.\u003c/li\u003e\n\u003cli\u003eFix compilation on MIPS with GCC 15 and binutils 2.45. See \u003ccode\u003ePR 487 by Rosen Penev \u0026lt;https://github.com/python-greenlet/greenlet/pull/487\u0026gt;\u003c/code\u003e_. Note that\nthis is not a platform tested by this project's CI.\u003c/li\u003e\n\u003cli\u003eMove most project metadata into the static \u003ccode\u003epyproject.toml\u003c/code\u003e file.\nThis updates licensing information to use the modern\n\u003ccode\u003eLicense-Expression\u003c/code\u003e field. See \u003ccode\u003ePR 480 by mrbean-bremen \u0026lt;https://github.com/python-greenlet/greenlet/pull/480/\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d1a0a3fa740425b8dd4dceafbecedda21d70cc08\"\u003e\u003ccode\u003ed1a0a3f\u003c/code\u003e\u003c/a\u003e Preparing release 3.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/bb11806a5b59bda374d097bd3479874c6651daab\"\u003e\u003ccode\u003ebb11806\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/482\"\u003e#482\u003c/a\u003e from tacaswell/cp315_compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/07089655734136eb5a78b67607d1c493e0155301\"\u003e\u003ccode\u003e0708965\u003c/code\u003e\u003c/a\u003e Change note for \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/480\"\u003e#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/62ff68fbe3b01a51f0c113537bfd71c466e2bf4f\"\u003e\u003ccode\u003e62ff68f\u003c/code\u003e\u003c/a\u003e pyproject: It's tool.zest-releaser, not tools.zest-releaser.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/7081130b399dd47602a90e75924c5c5cd66b6085\"\u003e\u003ccode\u003e7081130\u003c/code\u003e\u003c/a\u003e Move most of setuptools attributes to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/b462f7521ca17947720d879c15dec7c5147812af\"\u003e\u003ccode\u003eb462f75\u003c/code\u003e\u003c/a\u003e Add change note for \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/487\"\u003e#487\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/918e88850ffba91ec7492f42e7e33b7ff2c90534\"\u003e\u003ccode\u003e918e888\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/486\"\u003e#486\u003c/a\u003e from python-greenlet/dependabot/github_actions/github...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/c5e2e6f7e674d26f418fb2e3c3cc851e80c92cc7\"\u003e\u003ccode\u003ec5e2e6f\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/54f257d775cea6ef16b80ea5aa69e18ffba553db\"\u003e\u003ccode\u003e54f257d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/487\"\u003e#487\u003c/a\u003e from neheb/mips\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/b2cf41d90f9b654029ce6039293511da91a46b35\"\u003e\u003ccode\u003eb2cf41d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/490\"\u003e#490\u003c/a\u003e from python-greenlet/windows-on-github\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-greenlet/greenlet/compare/3.3.0...3.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyright` from 1.1.407 to 1.1.408\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RobertCraigie/pyright-python/commit/81b795a41ddcc3c77218d8c8e406983e39852285\"\u003e\u003ccode\u003e81b795a\u003c/code\u003e\u003c/a\u003e Pyright NPM Package update to 1.1.408 (\u003ca href=\"https://redirect.github.com/RobertCraigie/pyright-python/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RobertCraigie/pyright-python/compare/v1.1.407...v1.1.408\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.10 to 0.14.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-22.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve required parentheses in lambda bodies (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22747\"\u003e#22747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCombine range suppression code diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Second positional argument to \u003ccode\u003eAsset\u003c/code\u003e/\u003ccode\u003eDataset\u003c/code\u003e should not be a dictionary (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22453\"\u003e#22453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Detect duplicate entries in \u003ccode\u003e__all__\u003c/code\u003e (\u003ccode\u003eRUF068\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22114\"\u003e#22114\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Allow shadowing non-builtin bindings (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22749\"\u003e#22749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pie\u003c/code\u003e] Detect duplicated declared class fields in \u003ccode\u003ePIE794\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22717\"\u003e#22717\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e, \u003ccode\u003e__enter__\u003c/code\u003e, \u003ccode\u003e__aenter__\u003c/code\u003e in \u003ccode\u003ePYI034\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22798\"\u003e#22798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Support \u003ccode\u003echeck\u003c/code\u003e parameter in \u003ccode\u003ePT011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22725\"\u003e#22725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add exception for \u003ccode\u003ectypes.Structure._fields_\u003c/code\u003e (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22559\"\u003e#22559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany fixes are now marked unsafe if they would remove comments:\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22656\"\u003e\u003ccode\u003eB009\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22657\"\u003e\u003ccode\u003eB010\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22658\"\u003e\u003ccode\u003eB013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22659\"\u003e\u003ccode\u003eB014\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22632\"\u003e\u003ccode\u003eB033\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22662\"\u003e\u003ccode\u003eSIM910\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22661\"\u003e\u003ccode\u003eSIM911\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22774\"\u003e\u003ccode\u003eUP039\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22773\"\u003e\u003ccode\u003eUP041\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP045\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22767\"\u003e\u003ccode\u003eFURB105\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22681\"\u003e\u003ccode\u003eFURB116\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22680\"\u003e\u003ccode\u003eFURB136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22679\"\u003e\u003ccode\u003eFURB140\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22670\"\u003e\u003ccode\u003eFURB145\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22669\"\u003e\u003ccode\u003eFURB154\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22668\"\u003e\u003ccode\u003eFURB157\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22667\"\u003e\u003ccode\u003eFURB164\u003c/code\u003e\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22666\"\u003e\u003ccode\u003eFURB181\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22665\"\u003e\u003ccode\u003eFURB188\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22663\"\u003e\u003ccode\u003eRUF019\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22664\"\u003e\u003ccode\u003eRUF020\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--exit-non-zero-on-format\u003c/code\u003e to formatter exit codes section (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22761\"\u003e#22761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eFastAPI\u003c/code\u003e] Document fix safety for \u003ccode\u003eFAST001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22655\"\u003e#22655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Tweak explanation to focus on latency/efficiency tradeoff (\u003ccode\u003eASYNC110\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22715\"\u003e#22715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003ePD002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22561\"\u003e#22561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22770\"\u003e#22770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22769\"\u003e#22769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/caiquejjx\"\u003e\u003ccode\u003e@​caiquejjx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sjyangkevin\"\u003e\u003ccode\u003e@​sjyangkevin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/0.14.14/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-22.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve required parentheses in lambda bodies (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22747\"\u003e#22747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCombine range suppression code diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Second positional argument to \u003ccode\u003eAsset\u003c/code\u003e/\u003ccode\u003eDataset\u003c/code\u003e should not be a dictionary (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22453\"\u003e#22453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Detect duplicate entries in \u003ccode\u003e__all__\u003c/code\u003e (\u003ccode\u003eRUF068\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22114\"\u003e#22114\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Allow shadowing non-builtin bindings (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22749\"\u003e#22749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pie\u003c/code\u003e] Detect duplicated declared class fields in \u003ccode\u003ePIE794\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22717\"\u003e#22717\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e, \u003ccode\u003e__enter__\u003c/code\u003e, \u003ccode\u003e__aenter__\u003c/code\u003e in \u003ccode\u003ePYI034\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22798\"\u003e#22798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Support \u003ccode\u003echeck\u003c/code\u003e parameter in \u003ccode\u003ePT011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22725\"\u003e#22725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add exception for \u003ccode\u003ectypes.Structure._fields_\u003c/code\u003e (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22559\"\u003e#22559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany fixes are now marked unsafe if they would remove comments:\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22656\"\u003e\u003ccode\u003eB009\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22657\"\u003e\u003ccode\u003eB010\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22658\"\u003e\u003ccode\u003eB013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22659\"\u003e\u003ccode\u003eB014\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22632\"\u003e\u003ccode\u003eB033\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22662\"\u003e\u003ccode\u003eSIM910\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22661\"\u003e\u003ccode\u003eSIM911\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22774\"\u003e\u003ccode\u003eUP039\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22773\"\u003e\u003ccode\u003eUP041\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP045\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22767\"\u003e\u003ccode\u003eFURB105\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22681\"\u003e\u003ccode\u003eFURB116\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22680\"\u003e\u003ccode\u003eFURB136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22679\"\u003e\u003ccode\u003eFURB140\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22670\"\u003e\u003ccode\u003eFURB145\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22669\"\u003e\u003ccode\u003eFURB154\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22668\"\u003e\u003ccode\u003eFURB157\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22667\"\u003e\u003ccode\u003eFURB164\u003c/code\u003e\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22666\"\u003e\u003ccode\u003eFURB181\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22665\"\u003e\u003ccode\u003eFURB188\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22663\"\u003e\u003ccode\u003eRUF019\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22664\"\u003e\u003ccode\u003eRUF020\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--exit-non-zero-on-format\u003c/code\u003e to formatter exit codes section (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22761\"\u003e#22761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eFastAPI\u003c/code\u003e] Document fix safety for \u003ccode\u003eFAST001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22655\"\u003e#22655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Tweak explanation to focus on latency/efficiency tradeoff (\u003ccode\u003eASYNC110\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22715\"\u003e#22715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003ePD002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22561\"\u003e#22561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22770\"\u003e#22770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22769\"\u003e#22769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/caiquejjx\"\u003e\u003ccode\u003e@​caiquejjx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sjyangkevin\"\u003e\u003ccode\u003e@​sjyangkevin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8b2e7b36f246b990fe473a84eef25ff429e59ecf\"\u003e\u003ccode\u003e8b2e7b3\u003c/code\u003e\u003c/a\u003e Prepare release v0.14.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22813\"\u003e#22813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4c7d1f50fd8d1baf06a3c8885ecd0ded0113d383\"\u003e\u003ccode\u003e4c7d1f5\u003c/code\u003e\u003c/a\u003e [ty] Infer \u003ccode\u003eTypedDict\u003c/code\u003e types with \u0026gt;=1 required key as being always truthy (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b7de4341535ff2b299695335e0a7b9ebaf297348\"\u003e\u003ccode\u003eb7de434\u003c/code\u003e\u003c/a\u003e add CCfW hooks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22803\"\u003e#22803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b912dfc8788f8f8c351767899df6b72ce3366352\"\u003e\u003ccode\u003eb912dfc\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1ff062d1cccb8025de184a55c6dfe469a4293249\"\u003e\u003ccode\u003e1ff062d\u003c/code\u003e\u003c/a\u003e [ty] Improve completion rankings for raise-from/except contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22775\"\u003e#22775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7e408a51d24db2bca248bb90f2f7938f83efd22b\"\u003e\u003ccode\u003e7e408a5\u003c/code\u003e\u003c/a\u003e Update dependency wrangler to v4.59.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22793\"\u003e#22793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ceb876b82300bd237d11e3eb77c46fcf3d3afe85\"\u003e\u003ccode\u003eceb876b\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e,...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c5b4ee68c90faf0e609fa6553a171a7ba60ebdcb\"\u003e\u003ccode\u003ec5b4ee6\u003c/code\u003e\u003c/a\u003e [ty] Support solving generics involving PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22678\"\u003e#22678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b9a61293153f43df9963c727539309b76ac4756d\"\u003e\u003ccode\u003eb9a6129\u003c/code\u003e\u003c/a\u003e [ty] Improve support for kwarg splats in dictionary literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22781\"\u003e#22781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f516d47ceb7f6a0c3a95eaaa2c7451a32b5d7120\"\u003e\u003ccode\u003ef516d47\u003c/code\u003e\u003c/a\u003e Update contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.10...0.14.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tombi` from 0.7.14 to 0.7.25\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tombi-toml/tombi/releases\"\u003etombi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.25\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🛠️ Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: update JSON schema to use patternProperties and disable additionalProperties for better validation by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/cod...\n\n_Description has been truncated_","html_url":"https://github.com/donvargax/adk-ddd/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/donvargax%2Fadk-ddd/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"3874370608","node_id":"PR_kwDOChdfis7AUy5o","number":8782,"state":"open","title":"chore(deps): bump gcsfs from 2025.12.0 to 2026.1.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-30T07:14:52.000Z","updated_at":"2026-01-30T07:28:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"gcsfs","old_version":"2025.12.0","new_version":"2026.1.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Bumps [gcsfs](https://github.com/fsspec/gcsfs) from 2025.12.0 to 2026.1.0.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/3ed414aa2c5e5a78556726be11d663ff346bab40\"\u003e\u003ccode\u003e3ed414a\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/bca0139193d8dd8103fc52bfa5caf2ffd2172e6a\"\u003e\u003ccode\u003ebca0139\u003c/code\u003e\u003c/a\u003e Implement async upload methods and support async mode in ExtendedGcsfs (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9d64f5c5c74c59c840f440f82288f047bf557a3f\"\u003e\u003ccode\u003e9d64f5c\u003c/code\u003e\u003c/a\u003e mkdir override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/4f9f4ac35f1df42dacfb56f9be200730058fd5ef\"\u003e\u003ccode\u003e4f9f4ac\u003c/code\u003e\u003c/a\u003e reformat benchmark readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/cdd65f5808f6864bd8bed08e7bb7a9359ab0cbe7\"\u003e\u003ccode\u003ecdd65f5\u003c/code\u003e\u003c/a\u003e Adds GCSFS Microbenchmarks (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/722\"\u003e#722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c8ed96a77d027115b436cd9062825f703955b891\"\u003e\u003ccode\u003ec8ed96a\u003c/code\u003e\u003c/a\u003e ✨ Support alternative GCP Universes (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e03bf2949664282d4eb09ba18c62a2d98085cba9\"\u003e\u003ccode\u003ee03bf29\u003c/code\u003e\u003c/a\u003e Override info for hns (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14276d82827f21c1ee6b736ff7896ae4211cc726\"\u003e\u003ccode\u003e14276d8\u003c/code\u003e\u003c/a\u003e Update ci pipeline to run tests on HNS bucket (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/729\"\u003e#729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c5ac0e3e65154d4d5ec1d1de1566a7b1ea7781d3\"\u003e\u003ccode\u003ec5ac0e3\u003c/code\u003e\u003c/a\u003e feat(zb-write): Support write mode in Zonal File (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/06399c09003b66292bf25206e500796a8855ce72\"\u003e\u003ccode\u003e06399c0\u003c/code\u003e\u003c/a\u003e Adds mv/rename method implementation for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/727\"\u003e#727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.12.0...2026.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gcsfs\u0026package-manager=pip\u0026previous-version=2025.12.0\u0026new-version=2026.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/mozilla/bigquery-etl/pull/8782","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fbigquery-etl/issues/8782","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8782/packages"},{"uuid":"3842411329","node_id":"PR_kwDOMeYp8M6-q355","number":373,"state":"open","title":"Bump the python-dependencies group across 1 directory with 22 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-22T11:03:24.000Z","updated_at":"2026-01-22T11:39:53.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-dependencies","update_count":22,"packages":[{"name":"dapla-auth-client","old_version":"1.2.1","new_version":"1.2.5","repository_url":"https://github.com/statisticsnorway/dapla-auth-client"},{"name":"gcsfs","old_version":"2025.10.0","new_version":"2026.1.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"google-auth","old_version":"2.43.0","new_version":"2.47.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"pyarrow","old_version":"22.0.0","new_version":"23.0.0","repository_url":"https://github.com/apache/arrow"},{"name":"ruamel-yaml","old_version":"0.18.16","new_version":"0.19.1"},{"name":"ssb-datadoc-model","old_version":"8.0.0","new_version":"8.0.3","repository_url":"https://github.com/statisticsnorway/ssb-datadoc-model"},{"name":"universal-pathlib","old_version":"0.3.6","new_version":"0.3.8","repository_url":"https://github.com/fsspec/universal_pathlib"},{"name":"urllib3","old_version":"2.5.0","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"pre-commit","old_version":"4.5.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"ruff","old_version":"0.14.7","new_version":"0.14.13","repository_url":"https://github.com/astral-sh/ruff"},{"name":"furo","old_version":"2025.9.25","new_version":"2025.12.19","repository_url":"https://github.com/pradyunsg/furo"},{"name":"sphinx-click","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/click-contrib/sphinx-click"},{"name":"faker","old_version":"38.2.0","new_version":"40.1.2","repository_url":"https://github.com/joke2k/faker"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"mypy","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"pandas-stubs","old_version":"2.3.3.251201","new_version":"2.3.3.260113","repository_url":"https://github.com/pandas-dev/pandas-stubs"},{"name":"pyarrow-stubs","old_version":"20.0.0.20251107","new_version":"20.0.0.20251215","repository_url":"https://github.com/zen-xu/pyarrow-stubs"},{"name":"types-docker","old_version":"7.1.0.20251129","new_version":"7.1.0.20260109","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-requests","old_version":"2.32.4.20250913","new_version":"2.32.4.20260107","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-setuptools","old_version":"80.9.0.20250822","new_version":"80.9.0.20251223","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the python-dependencies group with 20 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [dapla-auth-client](https://github.com/statisticsnorway/dapla-auth-client) | `1.2.1` | `1.2.5` |\n| [gcsfs](https://github.com/fsspec/gcsfs) | `2025.10.0` | `2026.1.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.43.0` | `2.47.0` |\n| [pyarrow](https://github.com/apache/arrow) | `22.0.0` | `23.0.0` |\n| ruamel-yaml | `0.18.16` | `0.19.1` |\n| [ssb-datadoc-model](https://github.com/statisticsnorway/ssb-datadoc-model) | `8.0.0` | `8.0.3` |\n| [universal-pathlib](https://github.com/fsspec/universal_pathlib) | `0.3.6` | `0.3.8` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.5.0` | `2.6.3` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.0` | `4.5.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.7` | `0.14.13` |\n| [furo](https://github.com/pradyunsg/furo) | `2025.9.25` | `2025.12.19` |\n| [sphinx-click](https://github.com/click-contrib/sphinx-click) | `6.1.0` | `6.2.0` |\n| [faker](https://github.com/joke2k/faker) | `38.2.0` | `40.1.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.2` |\n| [mypy](https://github.com/python/mypy) | `1.19.0` | `1.19.1` |\n| [pandas-stubs](https://github.com/pandas-dev/pandas-stubs) | `2.3.3.251201` | `2.3.3.260113` |\n| [pyarrow-stubs](https://github.com/zen-xu/pyarrow-stubs) | `20.0.0.20251107` | `20.0.0.20251215` |\n| [types-docker](https://github.com/typeshed-internal/stub_uploader) | `7.1.0.20251129` | `7.1.0.20260109` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.4.20250913` | `2.32.4.20260107` |\n| [types-setuptools](https://github.com/typeshed-internal/stub_uploader) | `80.9.0.20250822` | `80.9.0.20251223` |\n\n\nUpdates `dapla-auth-client` from 1.2.1 to 1.2.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/releases\"\u003edapla-auth-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.5\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate from poetry to uv build tool (\u003ca href=\"https://redirect.github.com/statisticsnorway/dapla-auth-client/issues/41\"\u003e#41\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ecompatibility 3.10 (\u003ca href=\"https://redirect.github.com/statisticsnorway/dapla-auth-client/issues/45\"\u003e#45\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ecompatibility 3.10 (\u003ca href=\"https://redirect.github.com/statisticsnorway/dapla-auth-client/issues/45\"\u003e#45\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-action-dependencies group across 1 directory with 8 updates (\u003ca href=\"https://redirect.github.com/statisticsnorway/dapla-auth-client/issues/43\"\u003e#43\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump uv from 0.9.10 to 0.9.25 in /.github/workflows in the workflows-dependencies group across 1 directory (\u003ca href=\"https://redirect.github.com/statisticsnorway/dapla-auth-client/issues/42\"\u003e#42\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.2.3\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange constraint to supporting Python 3.10 (\u003ca href=\"https://redirect.github.com/statisticsnorway/dapla-auth-client/issues/39\"\u003e#39\u003c/a\u003e) \u003ca href=\"https://github.com/mallport\"\u003e\u003ccode\u003e@​mallport\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix dependency constraints (\u003ca href=\"https://redirect.github.com/statisticsnorway/dapla-auth-client/issues/37\"\u003e#37\u003c/a\u003e) \u003ca href=\"https://github.com/mallport\"\u003e\u003ccode\u003e@​mallport\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/167189fbc03bbd582686aefaabf2035ff69785b5\"\u003e\u003ccode\u003e167189f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/dapla-auth-client/issues/45\"\u003e#45\u003c/a\u003e from statisticsnorway/compatibility-python-310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/4a9ef71858a52eab4e7c532207f7da3d37fb8307\"\u003e\u003ccode\u003e4a9ef71\u003c/code\u003e\u003c/a\u003e Bump release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/c7f0416bf50f5b67d5ec99a13f74e03beef45b11\"\u003e\u003ccode\u003ec7f0416\u003c/code\u003e\u003c/a\u003e uv lock aaa\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/57f3b0edf58c00d41fcea745a458de81ab64735e\"\u003e\u003ccode\u003e57f3b0e\u003c/code\u003e\u003c/a\u003e bump version of package to make release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/6ad8ca0f7102323edd53de4a7f61d7945227a8bc\"\u003e\u003ccode\u003e6ad8ca0\u003c/code\u003e\u003c/a\u003e needs uv lock man\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/3d7201084dfbef1ddc8731e6f895710936fcb2b6\"\u003e\u003ccode\u003e3d72010\u003c/code\u003e\u003c/a\u003e dont f with the lock files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/c0aee5908a23d70acf101280cb082c5195ff4444\"\u003e\u003ccode\u003ec0aee59\u003c/code\u003e\u003c/a\u003e ruff did not f up when conscious of python 3.10 in pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/8726c65092c6f7e2957cbff4e0cfdb09b4b2ab72\"\u003e\u003ccode\u003e8726c65\u003c/code\u003e\u003c/a\u003e Merge branch 'compatibility-python-310' of \u003ca href=\"https://github.com/statisticsnorwa\"\u003ehttps://github.com/statisticsnorwa\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/99cfc1f573992066e3e8b622b5e1ad6d9bd11d5c\"\u003e\u003ccode\u003e99cfc1f\u003c/code\u003e\u003c/a\u003e ruff is messing mah stuff man\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/1b6899658260771f43292fa7086b00229a54b2f8\"\u003e\u003ccode\u003e1b68996\u003c/code\u003e\u003c/a\u003e pre-commit mah boy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/compare/v1.2.1...v1.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gcsfs` from 2025.10.0 to 2026.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/3ed414aa2c5e5a78556726be11d663ff346bab40\"\u003e\u003ccode\u003e3ed414a\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/bca0139193d8dd8103fc52bfa5caf2ffd2172e6a\"\u003e\u003ccode\u003ebca0139\u003c/code\u003e\u003c/a\u003e Implement async upload methods and support async mode in ExtendedGcsfs (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9d64f5c5c74c59c840f440f82288f047bf557a3f\"\u003e\u003ccode\u003e9d64f5c\u003c/code\u003e\u003c/a\u003e mkdir override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/4f9f4ac35f1df42dacfb56f9be200730058fd5ef\"\u003e\u003ccode\u003e4f9f4ac\u003c/code\u003e\u003c/a\u003e reformat benchmark readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/cdd65f5808f6864bd8bed08e7bb7a9359ab0cbe7\"\u003e\u003ccode\u003ecdd65f5\u003c/code\u003e\u003c/a\u003e Adds GCSFS Microbenchmarks (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/722\"\u003e#722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c8ed96a77d027115b436cd9062825f703955b891\"\u003e\u003ccode\u003ec8ed96a\u003c/code\u003e\u003c/a\u003e ✨ Support alternative GCP Universes (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e03bf2949664282d4eb09ba18c62a2d98085cba9\"\u003e\u003ccode\u003ee03bf29\u003c/code\u003e\u003c/a\u003e Override info for hns (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14276d82827f21c1ee6b736ff7896ae4211cc726\"\u003e\u003ccode\u003e14276d8\u003c/code\u003e\u003c/a\u003e Update ci pipeline to run tests on HNS bucket (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/729\"\u003e#729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c5ac0e3e65154d4d5ec1d1de1566a7b1ea7781d3\"\u003e\u003ccode\u003ec5ac0e3\u003c/code\u003e\u003c/a\u003e feat(zb-write): Support write mode in Zonal File (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/06399c09003b66292bf25206e500796a8855ce72\"\u003e\u003ccode\u003e06399c0\u003c/code\u003e\u003c/a\u003e Adds mv/rename method implementation for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/727\"\u003e#727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.10.0...2026.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.43.0 to 2.47.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-auth 2.47.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.46.0...v2.47.0\"\u003e2.47.0\u003c/a\u003e (2026-01-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1590\"\u003e#1590\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4\"\u003e5c07e1c4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc2001\"\u003e60dc2001\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.46.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.45.0...v2.46.0\"\u003e2.46.0\u003c/a\u003e (2026-01-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecognize workload certificate config in has_default_client_cert_source for mTLS for Agentic Identities (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1907\"\u003e#1907\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d5\"\u003e0b9107d5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix test coverage for mtls_helper (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1886\"\u003e#1886\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/02e71631\"\u003e02e71631\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003euse .read() instead of .content.read() in aiohttp transport (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1899\"\u003e#1899\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/12f4470f\"\u003e12f4470f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd types to default and verify_token and Request \u003cstrong\u003einit\u003c/strong\u003e based on comments in the source code. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1588\"\u003e#1588\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/59a5f588\"\u003e59a5f588\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix the document of secure_authorized_session (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1536\"\u003e#1536\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d001470\"\u003e5d001470\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eraise RefreshError for missing token in impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1897\"\u003e#1897\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/94d04e09\"\u003e94d04e09\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eremove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1693\"\u003e#1693\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c767531c\"\u003ec767531c\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate urllib3 docstrings for v2 compatibility (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1903\"\u003e#1903\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f1aeea2\"\u003e3f1aeea2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.45.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.44.0...v2.45.0\"\u003e2.45.0\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Agent Identity bound token support and handling certificate mismatches with retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1890\"\u003e#1890\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e\"\u003eb32c934e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.44.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95\"\u003e0387bb95\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.46.0...v2.47.0\"\u003e2.47.0\u003c/a\u003e (2026-01-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1590\"\u003e#1590\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\"\u003e5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\"\u003e60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.45.0...v2.46.0\"\u003e2.46.0\u003c/a\u003e (2026-01-05)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate urllib3 docstrings for v2 compatibility (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1903\"\u003e#1903\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f1aeea2d1014ea1d244a4c3470e52d74d55404b\"\u003e3f1aeea2d1014ea1d244a4c3470e52d74d55404b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecognize workload certificate config in has_default_client_cert_source for mTLS for Agentic Identities (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1907\"\u003e#1907\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d573123e358c347ffa067637f992af61b4\"\u003e0b9107d573123e358c347ffa067637f992af61b4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd types to default and verify_token and Request \u003cstrong\u003einit\u003c/strong\u003e based on comments in the source code. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1588\"\u003e#1588\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/59a5f588f7793b59d923a4185c8c07738da618f7\"\u003e59a5f588f7793b59d923a4185c8c07738da618f7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix the document of secure_authorized_session (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1536\"\u003e#1536\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d0014707fc359782df5ccfcaa75fd372fe9dce3\"\u003e5d0014707fc359782df5ccfcaa75fd372fe9dce3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1693\"\u003e#1693\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c767531ce05a89002d109f595187aff1fcaacfb7\"\u003ec767531ce05a89002d109f595187aff1fcaacfb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse .read() instead of .content.read() in aiohttp transport (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1899\"\u003e#1899\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/12f4470f808809e8abf1141f98d88ab720c3899b\"\u003e12f4470f808809e8abf1141f98d88ab720c3899b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eraise RefreshError for missing token in impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1897\"\u003e#1897\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/94d04e090fdfc61926dd32bc1d65f8820b9cede5\"\u003e94d04e090fdfc61926dd32bc1d65f8820b9cede5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix test coverage for mtls_helper (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1886\"\u003e#1886\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/02e71631fe275d93825c2e957e830773e75133f7\"\u003e02e71631fe275d93825c2e957e830773e75133f7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.44.0...v2.45.0\"\u003e2.45.0\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Agent Identity bound token support and handling certificate mismatches with retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1890\"\u003e#1890\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e6b0d09b94c467cd432a0a635e8b05f5c\"\u003eb32c934e6b0d09b94c467cd432a0a635e8b05f5c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e78f247665b6ef0287d482033f7be2ed6d\"\u003e0f7097e78f247665b6ef0287d482033f7be2ed6d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5f6881b590025f36d333d12eff8dc60fc\"\u003e39c381a5f6881b590025f36d333d12eff8dc60fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95713653d47e846cad3a010eb55ef2db4c\"\u003e0387bb95713653d47e846cad3a010eb55ef2db4c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement token revocation in STS client and add revoke() metho… (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1849\"\u003e#1849\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/d5638986ca03ee95bfffa9ad821124ed7e903e63\"\u003ed5638986ca03ee95bfffa9ad821124ed7e903e63\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/googleapis/google-auth-library-python/commit/f32301a03372eb72a8b5542a4cc223e01ee1e33b\"\u003e\u003ccode\u003ef32301a\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260106T130342Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1922\"\u003e#1922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/25f4ca658c1880c7a27ed817ded4c17d84c26854\"\u003e\u003ccode\u003e25f4ca6\u003c/code\u003e\u003c/a\u003e chore: remove Python 3.7 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1919\"\u003e#1919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\"\u003e\u003ccode\u003e60dc200\u003c/code\u003e\u003c/a\u003e fix: Python 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\"\u003e\u003ccode\u003e5c07e1c\u003c/code\u003e\u003c/a\u003e feat: drop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/2cbc2a2e2e75e8797bf3709eb1e624ad39e7e7d4\"\u003e\u003ccode\u003e2cbc2a2\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260105T122553Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1913\"\u003e#1913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5b7b5d83adafe275351989a96328472b1845c4be\"\u003e\u003ccode\u003e5b7b5d8\u003c/code\u003e\u003c/a\u003e chore: librarian update image pull request: 20260105T112538Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1912\"\u003e#1912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/7dbf05a56c5c8f1c01f985af140dc8c5ea29656a\"\u003e\u003ccode\u003e7dbf05a\u003c/code\u003e\u003c/a\u003e chore: rename _refresh_token to _perform_refresh_token (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1900\"\u003e#1900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/855a45af913a5d099e30036b80d8ba3b0c324a62\"\u003e\u003ccode\u003e855a45a\u003c/code\u003e\u003c/a\u003e chore(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1894\"\u003e#1894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/77c8bc48b5638cbe8c4415fdd378853e9db6e156\"\u003e\u003ccode\u003e77c8bc4\u003c/code\u003e\u003c/a\u003e tests: make the TLS tests skip when pyopenssl isn't available (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1873\"\u003e#1873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d573123e358c347ffa067637f992af61b4\"\u003e\u003ccode\u003e0b9107d\u003c/code\u003e\u003c/a\u003e feat: Recognize workload certificate config in has_default_client_cert_source...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.47.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 22.0.0 to 23.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.0.html\"\u003ehttps://arrow.apache.org/release/23.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.0 RC2\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.0 RC2\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/apache/arrow/commit/eafe3a9e620cf94683dee2347f370c35156dc965\"\u003e\u003ccode\u003eeafe3a9\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/45781e854cc9248013349decc4639644871d9f5f\"\u003e\u003ccode\u003e45781e8\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/365e5aca5a1ae2cdc31e6bd4ed640bfba00d5cc5\"\u003e\u003ccode\u003e365e5ac\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e33512d1d82c28e753004d0d7a76c1dca542b1cd\"\u003e\u003ccode\u003ee33512d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48841\"\u003eGH-48841\u003c/a\u003e: [Release][Package] Add GH_TOKEN to rake build step on Linux Packagi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/86d28e9d55f8d0f11634b4a2a19233fa843d9261\"\u003e\u003ccode\u003e86d28e9\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48838\"\u003eGH-48838\u003c/a\u003e: [Release] Use gh cli to download sources for Linux packages and pub...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/b6362d09204136dbf2167fee8ec8ec2af0efe42d\"\u003e\u003ccode\u003eb6362d0\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48582\"\u003eGH-48582\u003c/a\u003e: [CI][GPU][C++][Python] Add new CUDA jobs using the new self-hosted ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8fb7a53f0e2d0fa85ccdc6dd7ccda44dec6ee0d9\"\u003e\u003ccode\u003e8fb7a53\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48827\"\u003eGH-48827\u003c/a\u003e: [CI][Python] Add required xz dependency to emscripten dockerfile (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/342c5d563005709eab03dde332e44bcb237385fc\"\u003e\u003ccode\u003e342c5d5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48809\"\u003eGH-48809\u003c/a\u003e: [CI] Fix homebrew-cpp with Mac by using formula-based dependency re...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8955bbf7b266d7e293f5037bd20c3e2e983e004c\"\u003e\u003ccode\u003e8955bbf\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48631\"\u003eGH-48631\u003c/a\u003e: [R] Non-API calls: 'ATTRIB', 'SET_ATTRIB' (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48634\"\u003e#48634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/b90a2b82d85b1479470b7f1bdd941c9a59ecd3d4\"\u003e\u003ccode\u003eb90a2b8\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48314\"\u003eGH-48314\u003c/a\u003e: [Python] Compat with pandas 3.0 changed default datetime unit (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48319\"\u003e#48319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-22.0.0...apache-arrow-23.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruamel-yaml` from 0.18.16 to 0.19.1\n\nUpdates `ssb-datadoc-model` from 8.0.0 to 8.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/releases\"\u003essb-datadoc-model's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epython-v8.0.3\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:notebook: Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove date formatting on stable_identifier_version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/81\"\u003e#81\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ev8.0.2 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/80\"\u003e#80\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStable identifier version is a date (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate use restriction (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/72\"\u003e#72\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump document version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/70\"\u003e#70\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove fields from dataset to variable level (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/69\"\u003e#69\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pseudonymization_time from variables into pseudo object (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/65\"\u003e#65\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pseudonymization metadata into Variable structure (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/64\"\u003e#64\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:snake: Python\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove date formatting on stable_identifier_version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/81\"\u003e#81\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ev8.0.2 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/80\"\u003e#80\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStable identifier version is a date (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease Python v8.0.0 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/73\"\u003e#73\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate use restriction (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/72\"\u003e#72\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump document version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/70\"\u003e#70\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove fields from dataset to variable level (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/69\"\u003e#69\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly warn deprecation when relevant (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/68\"\u003e#68\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version 7.0.0 -\u0026gt; 7.0.1 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/66\"\u003e#66\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pseudonymization_time from variables into pseudo object (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/65\"\u003e#65\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pseudonymization metadata into Variable structure (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/64\"\u003e#64\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect project metadata (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/63\"\u003e#63\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:rocket: Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate use restriction (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/72\"\u003e#72\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove date formatting on stable_identifier_version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/81\"\u003e#81\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStable identifier version is a date (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove pseudonymization metadata into Variable structure (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/64\"\u003e#64\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epython-v8.0.2\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:notebook: Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ev8.0.2 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/80\"\u003e#80\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStable identifier version is a date (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate use restriction (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/72\"\u003e#72\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/a04b301d3615cfe0db25c82170cee401810f99a6\"\u003e\u003ccode\u003ea04b301\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/81\"\u003e#81\u003c/a\u003e from statisticsnorway/fix/fix-version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/2d21418bc6b3094cf210ad421f5903cd9e46f971\"\u003e\u003ccode\u003e2d21418\u003c/code\u003e\u003c/a\u003e [GENERATE] Pydantic models from JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/9b6487e0dafd6503b2a7efaa31923489d97c9195\"\u003e\u003ccode\u003e9b6487e\u003c/code\u003e\u003c/a\u003e Fix typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/39e0c73e24619bcde538c7562ee219e3307a3891\"\u003e\u003ccode\u003e39e0c73\u003c/code\u003e\u003c/a\u003e [GENERATE] Pydantic models from JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/61c924f4a331ac18701a02ad04230abfe41a0263\"\u003e\u003ccode\u003e61c924f\u003c/code\u003e\u003c/a\u003e Revert formatting of stable_identifier_version to date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/6216bfea619447e019f3f9cdb42518c4c5ca0973\"\u003e\u003ccode\u003e6216bfe\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/80\"\u003e#80\u003c/a\u003e from statisticsnorway/release/v8.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/838739f8331ba74c70e93d5365c17e3d6ef24ab7\"\u003e\u003ccode\u003e838739f\u003c/code\u003e\u003c/a\u003e [GENERATE] Pydantic models from JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/1d670b98c595a9def4104851f3717d0c38bc06c9\"\u003e\u003ccode\u003e1d670b9\u003c/code\u003e\u003c/a\u003e v8.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/1174a50159039f800e549cbdc82da341549a8dbb\"\u003e\u003ccode\u003e1174a50\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e from statisticsnorway/fix/stable-id-version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/16318d82bfe0c56ec23dad821e7bf97599f83bf8\"\u003e\u003ccode\u003e16318d8\u003c/code\u003e\u003c/a\u003e [GENERATE] Pydantic models from JSON Schema\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/compare/v8.0.0...v8.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `universal-pathlib` from 0.3.6 to 0.3.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fsspec/universal_pathlib/releases\"\u003euniversal-pathlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump the pip-dependencies group with 2 updates 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/fsspec/universal_pathlib/pull/501\"\u003efsspec/universal_pathlib#501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOC: describe UPath/s3fs behavior with \u003ccode\u003eis_dir()\u003c/code\u003e by \u003ca href=\"https://github.com/lagamura\"\u003e\u003ccode\u003e@​lagamura\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/503\"\u003efsspec/universal_pathlib#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not hardcode Python executable name by \u003ca href=\"https://github.com/avalentino\"\u003e\u003ccode\u003e@​avalentino\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/504\"\u003efsspec/universal_pathlib#504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etests: remove two unused helper functions introduced in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/492\"\u003e#492\u003c/a\u003e by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/505\"\u003efsspec/universal_pathlib#505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix iterdir behaviour when raising NotADirectory for all UPath subclasses by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/506\"\u003efsspec/universal_pathlib#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error behavior for the hardlink_to backport and symlink_to for upath.extensions by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/508\"\u003efsspec/universal_pathlib#508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix GitHub tests without a network connection by \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/509\"\u003efsspec/universal_pathlib#509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etests: split base test cases into joinable/readable/writable tests by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/507\"\u003efsspec/universal_pathlib#507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.extensions: fix is_relative_to for extensions by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/510\"\u003efsspec/universal_pathlib#510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing pathlib abc tests by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/511\"\u003efsspec/universal_pathlib#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSplit test suite according to abcs by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/513\"\u003efsspec/universal_pathlib#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix upath core touch by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/515\"\u003efsspec/universal_pathlib#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandover fs instance in UPath.with_segments() if possible by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/516\"\u003efsspec/universal_pathlib#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix DataPath error handling for unsupported methods by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/517\"\u003efsspec/universal_pathlib#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix HTTPPath error handling for unsupported methods by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/518\"\u003efsspec/universal_pathlib#518\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.implementations.tar: fix error handling for write methods by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/519\"\u003efsspec/universal_pathlib#519\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.implementations.zip: disable write mode in universal-pathlib by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/520\"\u003efsspec/universal_pathlib#520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.implementations.cloud: fix error handling on HfPath by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/521\"\u003efsspec/universal_pathlib#521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.implementations.github: adjust GitHubPath error reporting by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/522\"\u003efsspec/universal_pathlib#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor and cleanup test suite by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/514\"\u003efsspec/universal_pathlib#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etests: xfail on name resolution error in github suite by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/523\"\u003efsspec/universal_pathlib#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix behaviour of UPath.parent and UPath.parents by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/529\"\u003efsspec/universal_pathlib#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust behavior of UPath.copy and UPath.copy_into with str and Path targets by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/530\"\u003efsspec/universal_pathlib#530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix S3Path copy to Local: name collision of file / dir by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/533\"\u003efsspec/universal_pathlib#533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecut release 0.3.8 by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/534\"\u003efsspec/universal_pathlib#534\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/lagamura\"\u003e\u003ccode\u003e@​lagamura\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/503\"\u003efsspec/universal_pathlib#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/avalentino\"\u003e\u003ccode\u003e@​avalentino\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/504\"\u003efsspec/universal_pathlib#504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/509\"\u003efsspec/universal_pathlib#509\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fsspec/universal_pathlib/compare/v0.3.7...v0.3.8\"\u003ehttps://github.com/fsspec/universal_pathlib/compare/v0.3.7...v0.3.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.3.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typing example in README by \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/484\"\u003efsspec/universal_pathlib#484\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd FTPPath implementation by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/485\"\u003efsspec/universal_pathlib#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath: fix maintainer display on pypi by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/486\"\u003efsspec/universal_pathlib#486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch and assert warnings in tests by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/487\"\u003efsspec/universal_pathlib#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix trailing slash behavior by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/488\"\u003efsspec/universal_pathlib#488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTests without network connection by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/492\"\u003efsspec/universal_pathlib#492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire .cwd() for relative paths in .rename() by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/493\"\u003efsspec/universal_pathlib#493\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix MemoryPath root by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/495\"\u003efsspec/universal_pathlib#495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.core: deprecate keyword arguments for UPath.rename() by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/496\"\u003efsspec/universal_pathlib#496\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/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/484\"\u003efsspec/universal_pathlib#484\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fsspec/universal_pathlib/blob/main/CHANGELOG.md\"\u003euniversal-pathlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.3.8] - 2026-01-11\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etests: add missing pathlib abc tests (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/511\"\u003e#511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: split base test cases into joinable/readable/writable tests (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/507\"\u003e#507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: describe UPath/s3fs behavior with \u003ccode\u003eis_dir()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/503\"\u003e#503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupath.implementations.cloud: fix S3Path copy to local with name collision of file/dir (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.core: fix behaviour of \u003ccode\u003eUPath.parent\u003c/code\u003e and \u003ccode\u003eUPath.parents\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/529\"\u003e#529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.github: adjust GitHubPath error reporting (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/522\"\u003e#522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.cloud: fix error handling on HfPath (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/521\"\u003e#521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.zip: disable write mode in universal-pathlib (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.tar: fix error handling for write methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/519\"\u003e#519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.http: fix HTTPPath error handling for unsupported methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/518\"\u003e#518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.data: fix DataPath error handling for unsupported methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/517\"\u003e#517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.core: fix \u003ccode\u003etouch()\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/515\"\u003e#515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.extensions: fix \u003ccode\u003eis_relative_to()\u003c/code\u003e for extensions (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/510\"\u003e#510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.extensions: fix error behavior for \u003ccode\u003ehardlink_to()\u003c/code\u003e backport and \u003ccode\u003esymlink_to()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/508\"\u003e#508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath: fix \u003ccode\u003eiterdir()\u003c/code\u003e behaviour when raising NotADirectoryError for all UPath subclasses (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: xfail on name resolution error in github suite (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/523\"\u003e#523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: fix GitHub tests without a network connection (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/509\"\u003e#509\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupath: adjust behavior of \u003ccode\u003eUPath.copy()\u003c/code\u003e and \u003ccode\u003eUPath.copy_into()\u003c/code\u003e with str and Path targets (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.core: handover cached fs instances in \u003ccode\u003ewith_segments()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/516\"\u003e#516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: split test suite according to abcs and cleanup tests (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/513\"\u003e#513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: remove two unused helper functions introduced in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/492\"\u003e#492\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/505\"\u003e#505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: do not hardcode Python executable name (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/504\"\u003e#504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: updated development dependencies (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/501\"\u003e#501\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.3.7] - 2025-12-03\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupath.implementations.ftp: added FTPPath support (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: added comprehensive warning checks in test suite (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: added xfail handling for network connectivity issues (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/492\"\u003e#492\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupath: fixed trailing slash behavior for cloud paths (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.core: fixed rename implementation for relative paths (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.memory: fixed MemoryPath root (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/495\"\u003e#495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.ftp: added support for FTP modification time info format (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.local: fixed rename return type on Python 3.14+ (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.extensions: fixed .cwd() behavior for ProxyUPath (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.extensions: fixed typing of .cwd() method (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: fixed typing example in README (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/484\"\u003e#484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epypi: fixed maintainer display on PyPI (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/486\"\u003e#486\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/89d2e6d8fa0fa0b9dec6c1dcb0928c051ea6ca9f\"\u003e\u003ccode\u003e89d2e6d\u003c/code\u003e\u003c/a\u003e cut release 0.3.8 (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/534\"\u003e#534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/c4c1fe317dc71b069697ab597d76a28aa8cf0e57\"\u003e\u003ccode\u003ec4c1fe3\u003c/code\u003e\u003c/a\u003e Fix S3Path copy to Local: name collision of file / dir (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/9ceaf2f2c3a00475eeb46c7ccfd6d43152a0d6f6\"\u003e\u003ccode\u003e9ceaf2f\u003c/code\u003e\u003c/a\u003e Adjust behavior of UPath.copy and UPath.copy_into with str and Path targets (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/4ff77c729626dfd2ebe6caed8ac52260c62d2145\"\u003e\u003ccode\u003e4ff77c7\u003c/code\u003e\u003c/a\u003e Fix behaviour of UPath.parent and UPath.parents (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/529\"\u003e#529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/fb7703d7883e5bdc5f3eda6caab3a7b974dd806e\"\u003e\u003ccode\u003efb7703d\u003c/code\u003e\u003c/a\u003e tests: xfail on name resolution error in github suite (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/523\"\u003e#523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/3fd061c3ff98d0659f722be7617b50703a4a3052\"\u003e\u003ccode\u003e3fd061c\u003c/code\u003e\u003c/a\u003e upath.implementations.github: adjust GitHubPath error reporting (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/522\"\u003e#522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/ef8888af5260b0e16566c6c4ff9ecd392eafc8d4\"\u003e\u003ccode\u003eef8888a\u003c/code\u003e\u003c/a\u003e upath.implementations.cloud: fix error handling on HfPath (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/521\"\u003e#521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/043248d87e2c07bad244185f64cae4a27c683ae6\"\u003e\u003ccode\u003e043248d\u003c/code\u003e\u003c/a\u003e upath.implementations.zip: disable write mode in universal-pathlib (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/f9d9445c4b7dc16e5b374db12d7076e3439e5e5c\"\u003e\u003ccode\u003ef9d9445\u003c/code\u003e\u003c/a\u003e upath.implementations.tar: fix error handling for write methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/519\"\u003e#519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/22e598a145c10c5baf17cbe7919c6e5da0d28f13\"\u003e\u003ccode\u003e22e598a\u003c/code\u003e\u003c/a\u003e Fix HTTPPath error handling for unsupported methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/518\"\u003e#518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/universal_pathlib/compare/v0.3.6...v0.3.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `urllib3` from 2.5.0 to 2.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/urllib3/urllib3/releases\"\u003eurllib3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.6.3\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a security issue where decompression-bomb safeguards of the streaming API were bypassed when HTTP redirects were followed. (CVE-2026-21441 reported by \u003ca href=\"https://github.com/D47A\"\u003e\u003ccode\u003e@​D47A\u003c/code\u003e\u003c/a\u003e, 8.9 High, GHSA-38jv-5279-wg99)\u003c/li\u003e\n\u003cli\u003eStarted treating \u003ccode\u003eRetry-After\u003c/code\u003e times greater than 6 hours as 6 hours by default. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3743\"\u003eurllib3/urllib3#3743\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eurllib3.connection.VerifiedHTTPSConnection\u003c/code\u003e on Emscripten. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3752\"\u003eurllib3/urllib3#3752\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.6.2\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eHTTPResponse.read_chunked()\u003c/code\u003e to properly handle leftover data in the decoder's buffer when reading compressed chunked responses. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3734\"\u003eurllib3/urllib3#3734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.6.1\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore previously removed \u003ccode\u003eHTTPResponse.getheaders()\u003c/code\u003e and \u003ccode\u003eHTTPResponse.getheader()\u003c/code\u003e methods. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3731\"\u003e#3731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.6.0\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a security issue where streaming API could improperly handle highly compressed HTTP content (\u0026quot;decompression bombs\u0026quot;) leading to excessive resource consumption even when a small amount of data was requested. Reading small chunks of compressed data is safer and much more efficient now. (CVE-2025-66471 reported by \u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e, 8.9 High, GHSA-2xpw-w6gg-jr37)\u003c/li\u003e\n\u003cli\u003eFixed a security issue where an attacker could compose an HTTP response with virtually unlimited links in the \u003ccode\u003eContent-Encoding\u003c/code\u003e header, potentially leading to a denial of service (DoS) attack by exhausting system resources during decoding. The number of allowed chained encodings is now limited to 5. (CVE-2025-66418 reported by \u003ca href=\"https://github.com/illia-v\"\u003e\u003ccode\u003e@​illia-v\u003c/code\u003e\u003c/a\u003e, 8.9 High, GHSA-gm62-xv2j-4w53)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIf urllib3 is not installed with the optional \u003ccode\u003eurllib3[brotli]\u003c/code\u003e extra, but your environment contains a Brotli/brotlicffi/brotlipy package anyway, make sure to upgrade it to at least Brotli 1.2.0 or brotlicffi 1.2.0.0 to  benefit from the security fixes and avoid warnings. Prefer using  \u003ccode\u003eurllib3[brotli]\u003c/code\u003e to install a compatible Brotli package automatically.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/urllib3/urllib3/blob/main/CHANGES.rst\"\u003eurllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.6.3 (2026-01-07)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a high-severity security issue where decompression-bomb safeguards of\nthe streaming API were bypassed when HTTP redirects were followed.\n(\u003ccode\u003eGHSA-38jv-5279-wg99 \u0026lt;https://github.com/urllib3/urllib3/security/advisories/GHSA-38jv-5279-wg99\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eStarted treating \u003ccode\u003eRetry-After\u003c/code\u003e times greater than 6 hours as 6 hours by\ndefault. (\u003ccode\u003e[#3743](https://github.com/urllib3/urllib3/issues/3743) \u0026lt;https://github.com/urllib3/urllib3/issues/3743\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eurllib3.connection.VerifiedHTTPSConnection\u003c/code\u003e on Emscripten.\n(\u003ccode\u003e[#3752](https://github.com/urllib3/urllib3/issues/3752) \u0026lt;https://github.com/urllib3/urllib3/issues/3752\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.6.2 (2025-12-11)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eHTTPResponse.read_chunked()\u003c/code\u003e to properly handle leftover data in\nthe decoder's buffer when reading compressed chunked responses.\n(\u003ccode\u003e[#3734](https://github.com/urllib3/urllib3/issues/3734) \u0026lt;https://github.com/urllib3/urllib3/issues/3734\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.6.1 (2025-12-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRestore previously removed \u003ccode\u003eHTTPResponse.getheaders()\u003c/code\u003e and\n\u003ccode\u003eHTTPResponse.getheader()\u003c/code\u003e methods.\n(\u003ccode\u003e[#3731](https://github.com/urllib3/urllib3/issues/3731) \u0026lt;https://github.com/urllib3/urllib3/issues/3731\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.6.0 (2025-12-05)\u003c/h1\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a security issue where streaming API could improperly handle highly\ncompressed HTTP content (\u0026quot;decompression bombs\u0026quot;) leading to excessive resource\nconsumption even when a small amount of data was requested. Reading small\nchunks of compressed data is safer and much more efficient now.\n(\u003ccode\u003eGHSA-2xpw-w6gg-jr37 \u0026lt;https://github.com/urllib3/urllib3/security/advisories/GHSA-2xpw-w6gg-jr37\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eFixed a security issue where an attacker could compose an HTTP response with\nvirtually unlimited links in the \u003ccode\u003eContent-Encoding\u003c/code\u003e header, potentially\nleading to a denial of service (DoS) attack by exhausting system resources\nduring decoding. The number of allowed chained encodings is now limited to 5.\n(\u003ccode\u003eGHSA-gm62-xv2j-4w53 \u0026lt;https://github.com/urllib3/urllib3/security/advisories/GHSA-gm62-xv2j-4w53\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. caution::\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIf urllib3 is not installed with the optional \u003ccode\u003eurllib3[brotli]\u003c/code\u003e extra, but\nyour environment contains a Brotli/brotlicffi/brotlipy package anyway, make\nsure to upgrade it to at least Brotli 1.2.0 or brotlicffi 1.2.0.0 to\nbenefit from the security fixes and avoid warnings. Prefer using\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/0248277dd7ac0239204889ca991353ad3e3a1ddc\"\u003e\u003ccode\u003e0248277\u003c/code\u003e\u003c/a\u003e Release 2.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/8864ac407bba8607950025e0979c4c69bc7abc7b\"\u003e\u003ccode\u003e8864ac4\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/70cecb27ca99d56aaaeb63ac27ee270ef2b24c5c\"\u003e\u003ccode\u003e70cecb2\u003c/code\u003e\u003c/a\u003e Fix Scorecard issues related to vulnerable dev dependencies (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3755\"\u003e#3755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/41f249abe1ef3e20768588969c4035aba060a359\"\u003e\u003ccode\u003e41f249a\u003c/code\u003e\u003c/a\u003e Move \u0026quot;v2.0 Migration Guide\u0026quot; to the end of the table of contents (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3747\"\u003e#3747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/fd4dffd2fc544166b76151a2fa3d7b7c0eab540c\"\u003e\u003ccode\u003efd4dffd\u003c/code\u003e\u003c/a\u003e Patch \u003ccode\u003eVerifiedHTTPSConnection\u003c/code\u003e for Emscripten (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3752\"\u003e#3752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/13f0bfd55e4468fe1ea9c6f809d3a87b0f93ebab\"\u003e\u003ccode\u003e13f0bfd\u003c/code\u003e\u003c/a\u003e Handle massive values in Retry-After when calculating time to sleep for (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3743\"\u003e#3743\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/8c480bf87bcefd321b3a1ae47f04e908b6b2ed7b\"\u003e\u003ccode\u003e8c480bf\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3748\"\u003e#3748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/4b40616e959c0a2c466e8075f2a785a9f99bb0c1\"\u003e\u003ccode\u003e4b40616\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4.3.0 to 5.0.1 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3750\"\u003e#3750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/82b8479663d037d220c883f1584dd01a43bb273b\"\u003e\u003ccode\u003e82b8479\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3749\"\u003e#3749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/34284cb01700bb7d4fdd472f909e22393e9174e2\"\u003e\u003ccode\u003e34284cb\u003c/code\u003e\u003c/a\u003e Mention experimental features in the security policy (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3746\"\u003e#3746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/urllib3/urllib3/compare/2.5.0...2.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 4.5.0 to 4.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.5.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.5.1 - 2025-12-16\u003c/h1\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/8a0630ca1aa7f6d5665effe674ebe2022af17919\"\u003e\u003ccode\u003e8a0630c\u003c/code\u003e\u003c/a\u003e v4.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fcbc745744377ef2c9fe6a7e1a21c67d797933dc\"\u003e\u003ccode\u003efcbc745\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e from pre-commit/empty-setup-py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/51592eececd13b99c40ec477ad8f810799147227\"\u003e\u003ccode\u003e51592ee\u003c/code\u003e\u003c/a\u003e fix python local template when artifact dirs are present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/67e8faf80baffcb4b79c31b89ca9a413a1cd6776\"\u003e\u003ccode\u003e67e8faf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3596\"\u003e#3596\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/c251e6b6d011b3b262339dc8e109de29b0ff8db1\"\u003e\u003ccode\u003ec251e6b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/98ccafa3ce42b846b9a9be9ed73fbbec7415496d\"\u003e\u003ccode\u003e98ccafa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3593\"\u003e#3593\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/48953556d06f8cdb4248002c1a0044e69e0916b3\"\u003e\u003ccode\u003e4895355\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/l...\n\n_Description has been truncated_","html_url":"https://github.com/statisticsnorway/dapla-toolbelt-metadata/pull/373","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/statisticsnorway%2Fdapla-toolbelt-metadata/issues/373","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/373/packages"},{"uuid":"3807882745","node_id":"PR_kwDOMeYp8M684V46","number":363,"state":"open","title":"Bump the python-dependencies group across 1 directory with 19 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-13T09:05:45.000Z","updated_at":"2026-01-21T08:53:57.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-dependencies","update_count":19,"packages":[{"name":"gcsfs","old_version":"2025.10.0","new_version":"2026.1.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"google-auth","old_version":"2.43.0","new_version":"2.47.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"ruamel-yaml","old_version":"0.18.16","new_version":"0.19.1"},{"name":"ssb-datadoc-model","old_version":"8.0.0","new_version":"8.0.3","repository_url":"https://github.com/statisticsnorway/ssb-datadoc-model"},{"name":"universal-pathlib","old_version":"0.3.6","new_version":"0.3.8","repository_url":"https://github.com/fsspec/universal_pathlib"},{"name":"urllib3","old_version":"2.5.0","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"pre-commit","old_version":"4.5.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"ruff","old_version":"0.14.7","new_version":"0.14.11","repository_url":"https://github.com/astral-sh/ruff"},{"name":"furo","old_version":"2025.9.25","new_version":"2025.12.19","repository_url":"https://github.com/pradyunsg/furo"},{"name":"sphinx-click","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/click-contrib/sphinx-click"},{"name":"faker","old_version":"38.2.0","new_version":"40.1.0","repository_url":"https://github.com/joke2k/faker"},{"name":"mypy","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"pandas-stubs","old_version":"2.3.3.251201","new_version":"2.3.3.251219","repository_url":"https://github.com/pandas-dev/pandas-stubs"},{"name":"pyarrow-stubs","old_version":"20.0.0.20251107","new_version":"20.0.0.20251215","repository_url":"https://github.com/zen-xu/pyarrow-stubs"},{"name":"types-docker","old_version":"7.1.0.20251129","new_version":"7.1.0.20260109","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-requests","old_version":"2.32.4.20250913","new_version":"2.32.4.20260107","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-setuptools","old_version":"80.9.0.20250822","new_version":"80.9.0.20251223","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 17 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gcsfs](https://github.com/fsspec/gcsfs) | `2025.10.0` | `2026.1.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.43.0` | `2.47.0` |\n| ruamel-yaml | `0.18.16` | `0.19.1` |\n| [ssb-datadoc-model](https://github.com/statisticsnorway/ssb-datadoc-model) | `8.0.0` | `8.0.3` |\n| [universal-pathlib](https://github.com/fsspec/universal_pathlib) | `0.3.6` | `0.3.8` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.5.0` | `2.6.3` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.0` | `4.5.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.7` | `0.14.11` |\n| [furo](https://github.com/pradyunsg/furo) | `2025.9.25` | `2025.12.19` |\n| [sphinx-click](https://github.com/click-contrib/sphinx-click) | `6.1.0` | `6.2.0` |\n| [faker](https://github.com/joke2k/faker) | `38.2.0` | `40.1.0` |\n| [mypy](https://github.com/python/mypy) | `1.19.0` | `1.19.1` |\n| [pandas-stubs](https://github.com/pandas-dev/pandas-stubs) | `2.3.3.251201` | `2.3.3.251219` |\n| [pyarrow-stubs](https://github.com/zen-xu/pyarrow-stubs) | `20.0.0.20251107` | `20.0.0.20251215` |\n| [types-docker](https://github.com/typeshed-internal/stub_uploader) | `7.1.0.20251129` | `7.1.0.20260109` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.4.20250913` | `2.32.4.20260107` |\n| [types-setuptools](https://github.com/typeshed-internal/stub_uploader) | `80.9.0.20250822` | `80.9.0.20251223` |\n\n\nUpdates `gcsfs` from 2025.10.0 to 2026.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/3ed414aa2c5e5a78556726be11d663ff346bab40\"\u003e\u003ccode\u003e3ed414a\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/bca0139193d8dd8103fc52bfa5caf2ffd2172e6a\"\u003e\u003ccode\u003ebca0139\u003c/code\u003e\u003c/a\u003e Implement async upload methods and support async mode in ExtendedGcsfs (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9d64f5c5c74c59c840f440f82288f047bf557a3f\"\u003e\u003ccode\u003e9d64f5c\u003c/code\u003e\u003c/a\u003e mkdir override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/4f9f4ac35f1df42dacfb56f9be200730058fd5ef\"\u003e\u003ccode\u003e4f9f4ac\u003c/code\u003e\u003c/a\u003e reformat benchmark readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/cdd65f5808f6864bd8bed08e7bb7a9359ab0cbe7\"\u003e\u003ccode\u003ecdd65f5\u003c/code\u003e\u003c/a\u003e Adds GCSFS Microbenchmarks (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/722\"\u003e#722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c8ed96a77d027115b436cd9062825f703955b891\"\u003e\u003ccode\u003ec8ed96a\u003c/code\u003e\u003c/a\u003e ✨ Support alternative GCP Universes (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e03bf2949664282d4eb09ba18c62a2d98085cba9\"\u003e\u003ccode\u003ee03bf29\u003c/code\u003e\u003c/a\u003e Override info for hns (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14276d82827f21c1ee6b736ff7896ae4211cc726\"\u003e\u003ccode\u003e14276d8\u003c/code\u003e\u003c/a\u003e Update ci pipeline to run tests on HNS bucket (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/729\"\u003e#729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c5ac0e3e65154d4d5ec1d1de1566a7b1ea7781d3\"\u003e\u003ccode\u003ec5ac0e3\u003c/code\u003e\u003c/a\u003e feat(zb-write): Support write mode in Zonal File (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/06399c09003b66292bf25206e500796a8855ce72\"\u003e\u003ccode\u003e06399c0\u003c/code\u003e\u003c/a\u003e Adds mv/rename method implementation for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/727\"\u003e#727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.10.0...2026.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.43.0 to 2.47.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-auth 2.47.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.46.0...v2.47.0\"\u003e2.47.0\u003c/a\u003e (2026-01-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1590\"\u003e#1590\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4\"\u003e5c07e1c4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc2001\"\u003e60dc2001\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.46.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.45.0...v2.46.0\"\u003e2.46.0\u003c/a\u003e (2026-01-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecognize workload certificate config in has_default_client_cert_source for mTLS for Agentic Identities (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1907\"\u003e#1907\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d5\"\u003e0b9107d5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix test coverage for mtls_helper (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1886\"\u003e#1886\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/02e71631\"\u003e02e71631\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003euse .read() instead of .content.read() in aiohttp transport (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1899\"\u003e#1899\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/12f4470f\"\u003e12f4470f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd types to default and verify_token and Request \u003cstrong\u003einit\u003c/strong\u003e based on comments in the source code. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1588\"\u003e#1588\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/59a5f588\"\u003e59a5f588\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix the document of secure_authorized_session (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1536\"\u003e#1536\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d001470\"\u003e5d001470\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eraise RefreshError for missing token in impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1897\"\u003e#1897\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/94d04e09\"\u003e94d04e09\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eremove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1693\"\u003e#1693\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c767531c\"\u003ec767531c\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate urllib3 docstrings for v2 compatibility (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1903\"\u003e#1903\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f1aeea2\"\u003e3f1aeea2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.45.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.44.0...v2.45.0\"\u003e2.45.0\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Agent Identity bound token support and handling certificate mismatches with retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1890\"\u003e#1890\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e\"\u003eb32c934e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.44.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95\"\u003e0387bb95\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.46.0...v2.47.0\"\u003e2.47.0\u003c/a\u003e (2026-01-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1590\"\u003e#1590\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\"\u003e5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\"\u003e60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.45.0...v2.46.0\"\u003e2.46.0\u003c/a\u003e (2026-01-05)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate urllib3 docstrings for v2 compatibility (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1903\"\u003e#1903\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f1aeea2d1014ea1d244a4c3470e52d74d55404b\"\u003e3f1aeea2d1014ea1d244a4c3470e52d74d55404b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecognize workload certificate config in has_default_client_cert_source for mTLS for Agentic Identities (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1907\"\u003e#1907\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d573123e358c347ffa067637f992af61b4\"\u003e0b9107d573123e358c347ffa067637f992af61b4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd types to default and verify_token and Request \u003cstrong\u003einit\u003c/strong\u003e based on comments in the source code. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1588\"\u003e#1588\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/59a5f588f7793b59d923a4185c8c07738da618f7\"\u003e59a5f588f7793b59d923a4185c8c07738da618f7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix the document of secure_authorized_session (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1536\"\u003e#1536\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d0014707fc359782df5ccfcaa75fd372fe9dce3\"\u003e5d0014707fc359782df5ccfcaa75fd372fe9dce3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1693\"\u003e#1693\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c767531ce05a89002d109f595187aff1fcaacfb7\"\u003ec767531ce05a89002d109f595187aff1fcaacfb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse .read() instead of .content.read() in aiohttp transport (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1899\"\u003e#1899\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/12f4470f808809e8abf1141f98d88ab720c3899b\"\u003e12f4470f808809e8abf1141f98d88ab720c3899b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eraise RefreshError for missing token in impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1897\"\u003e#1897\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/94d04e090fdfc61926dd32bc1d65f8820b9cede5\"\u003e94d04e090fdfc61926dd32bc1d65f8820b9cede5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix test coverage for mtls_helper (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1886\"\u003e#1886\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/02e71631fe275d93825c2e957e830773e75133f7\"\u003e02e71631fe275d93825c2e957e830773e75133f7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.44.0...v2.45.0\"\u003e2.45.0\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Agent Identity bound token support and handling certificate mismatches with retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1890\"\u003e#1890\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e6b0d09b94c467cd432a0a635e8b05f5c\"\u003eb32c934e6b0d09b94c467cd432a0a635e8b05f5c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e78f247665b6ef0287d482033f7be2ed6d\"\u003e0f7097e78f247665b6ef0287d482033f7be2ed6d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5f6881b590025f36d333d12eff8dc60fc\"\u003e39c381a5f6881b590025f36d333d12eff8dc60fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95713653d47e846cad3a010eb55ef2db4c\"\u003e0387bb95713653d47e846cad3a010eb55ef2db4c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement token revocation in STS client and add revoke() metho… (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1849\"\u003e#1849\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/d5638986ca03ee95bfffa9ad821124ed7e903e63\"\u003ed5638986ca03ee95bfffa9ad821124ed7e903e63\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/googleapis/google-auth-library-python/commit/f32301a03372eb72a8b5542a4cc223e01ee1e33b\"\u003e\u003ccode\u003ef32301a\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260106T130342Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1922\"\u003e#1922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/25f4ca658c1880c7a27ed817ded4c17d84c26854\"\u003e\u003ccode\u003e25f4ca6\u003c/code\u003e\u003c/a\u003e chore: remove Python 3.7 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1919\"\u003e#1919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\"\u003e\u003ccode\u003e60dc200\u003c/code\u003e\u003c/a\u003e fix: Python 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\"\u003e\u003ccode\u003e5c07e1c\u003c/code\u003e\u003c/a\u003e feat: drop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/2cbc2a2e2e75e8797bf3709eb1e624ad39e7e7d4\"\u003e\u003ccode\u003e2cbc2a2\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260105T122553Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1913\"\u003e#1913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5b7b5d83adafe275351989a96328472b1845c4be\"\u003e\u003ccode\u003e5b7b5d8\u003c/code\u003e\u003c/a\u003e chore: librarian update image pull request: 20260105T112538Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1912\"\u003e#1912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/7dbf05a56c5c8f1c01f985af140dc8c5ea29656a\"\u003e\u003ccode\u003e7dbf05a\u003c/code\u003e\u003c/a\u003e chore: rename _refresh_token to _perform_refresh_token (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1900\"\u003e#1900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/855a45af913a5d099e30036b80d8ba3b0c324a62\"\u003e\u003ccode\u003e855a45a\u003c/code\u003e\u003c/a\u003e chore(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1894\"\u003e#1894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/77c8bc48b5638cbe8c4415fdd378853e9db6e156\"\u003e\u003ccode\u003e77c8bc4\u003c/code\u003e\u003c/a\u003e tests: make the TLS tests skip when pyopenssl isn't available (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1873\"\u003e#1873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d573123e358c347ffa067637f992af61b4\"\u003e\u003ccode\u003e0b9107d\u003c/code\u003e\u003c/a\u003e feat: Recognize workload certificate config in has_default_client_cert_source...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.47.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruamel-yaml` from 0.18.16 to 0.19.1\n\nUpdates `ssb-datadoc-model` from 8.0.0 to 8.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/releases\"\u003essb-datadoc-model's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epython-v8.0.3\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:notebook: Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove date formatting on stable_identifier_version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/81\"\u003e#81\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ev8.0.2 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/80\"\u003e#80\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStable identifier version is a date (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate use restriction (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/72\"\u003e#72\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump document version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/70\"\u003e#70\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove fields from dataset to variable level (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/69\"\u003e#69\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pseudonymization_time from variables into pseudo object (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/65\"\u003e#65\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pseudonymization metadata into Variable structure (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/64\"\u003e#64\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:snake: Python\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove date formatting on stable_identifier_version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/81\"\u003e#81\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ev8.0.2 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/80\"\u003e#80\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStable identifier version is a date (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease Python v8.0.0 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/73\"\u003e#73\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate use restriction (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/72\"\u003e#72\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump document version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/70\"\u003e#70\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove fields from dataset to variable level (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/69\"\u003e#69\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly warn deprecation when relevant (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/68\"\u003e#68\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version 7.0.0 -\u0026gt; 7.0.1 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/66\"\u003e#66\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pseudonymization_time from variables into pseudo object (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/65\"\u003e#65\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pseudonymization metadata into Variable structure (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/64\"\u003e#64\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect project metadata (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/63\"\u003e#63\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:rocket: Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate use restriction (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/72\"\u003e#72\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove date formatting on stable_identifier_version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/81\"\u003e#81\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStable identifier version is a date (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove pseudonymization metadata into Variable structure (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/64\"\u003e#64\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epython-v8.0.2\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:notebook: Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ev8.0.2 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/80\"\u003e#80\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStable identifier version is a date (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate use restriction (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/72\"\u003e#72\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/a04b301d3615cfe0db25c82170cee401810f99a6\"\u003e\u003ccode\u003ea04b301\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/81\"\u003e#81\u003c/a\u003e from statisticsnorway/fix/fix-version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/2d21418bc6b3094cf210ad421f5903cd9e46f971\"\u003e\u003ccode\u003e2d21418\u003c/code\u003e\u003c/a\u003e [GENERATE] Pydantic models from JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/9b6487e0dafd6503b2a7efaa31923489d97c9195\"\u003e\u003ccode\u003e9b6487e\u003c/code\u003e\u003c/a\u003e Fix typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/39e0c73e24619bcde538c7562ee219e3307a3891\"\u003e\u003ccode\u003e39e0c73\u003c/code\u003e\u003c/a\u003e [GENERATE] Pydantic models from JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/61c924f4a331ac18701a02ad04230abfe41a0263\"\u003e\u003ccode\u003e61c924f\u003c/code\u003e\u003c/a\u003e Revert formatting of stable_identifier_version to date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/6216bfea619447e019f3f9cdb42518c4c5ca0973\"\u003e\u003ccode\u003e6216bfe\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/80\"\u003e#80\u003c/a\u003e from statisticsnorway/release/v8.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/838739f8331ba74c70e93d5365c17e3d6ef24ab7\"\u003e\u003ccode\u003e838739f\u003c/code\u003e\u003c/a\u003e [GENERATE] Pydantic models from JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/1d670b98c595a9def4104851f3717d0c38bc06c9\"\u003e\u003ccode\u003e1d670b9\u003c/code\u003e\u003c/a\u003e v8.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/1174a50159039f800e549cbdc82da341549a8dbb\"\u003e\u003ccode\u003e1174a50\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e from statisticsnorway/fix/stable-id-version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/16318d82bfe0c56ec23dad821e7bf97599f83bf8\"\u003e\u003ccode\u003e16318d8\u003c/code\u003e\u003c/a\u003e [GENERATE] Pydantic models from JSON Schema\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/compare/v8.0.0...v8.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `universal-pathlib` from 0.3.6 to 0.3.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fsspec/universal_pathlib/releases\"\u003euniversal-pathlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump the pip-dependencies group with 2 updates 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/fsspec/universal_pathlib/pull/501\"\u003efsspec/universal_pathlib#501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOC: describe UPath/s3fs behavior with \u003ccode\u003eis_dir()\u003c/code\u003e by \u003ca href=\"https://github.com/lagamura\"\u003e\u003ccode\u003e@​lagamura\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/503\"\u003efsspec/universal_pathlib#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not hardcode Python executable name by \u003ca href=\"https://github.com/avalentino\"\u003e\u003ccode\u003e@​avalentino\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/504\"\u003efsspec/universal_pathlib#504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etests: remove two unused helper functions introduced in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/492\"\u003e#492\u003c/a\u003e by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/505\"\u003efsspec/universal_pathlib#505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix iterdir behaviour when raising NotADirectory for all UPath subclasses by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/506\"\u003efsspec/universal_pathlib#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error behavior for the hardlink_to backport and symlink_to for upath.extensions by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/508\"\u003efsspec/universal_pathlib#508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix GitHub tests without a network connection by \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/509\"\u003efsspec/universal_pathlib#509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etests: split base test cases into joinable/readable/writable tests by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/507\"\u003efsspec/universal_pathlib#507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.extensions: fix is_relative_to for extensions by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/510\"\u003efsspec/universal_pathlib#510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing pathlib abc tests by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/511\"\u003efsspec/universal_pathlib#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSplit test suite according to abcs by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/513\"\u003efsspec/universal_pathlib#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix upath core touch by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/515\"\u003efsspec/universal_pathlib#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandover fs instance in UPath.with_segments() if possible by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/516\"\u003efsspec/universal_pathlib#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix DataPath error handling for unsupported methods by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/517\"\u003efsspec/universal_pathlib#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix HTTPPath error handling for unsupported methods by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/518\"\u003efsspec/universal_pathlib#518\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.implementations.tar: fix error handling for write methods by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/519\"\u003efsspec/universal_pathlib#519\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.implementations.zip: disable write mode in universal-pathlib by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/520\"\u003efsspec/universal_pathlib#520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.implementations.cloud: fix error handling on HfPath by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/521\"\u003efsspec/universal_pathlib#521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.implementations.github: adjust GitHubPath error reporting by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/522\"\u003efsspec/universal_pathlib#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor and cleanup test suite by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/514\"\u003efsspec/universal_pathlib#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etests: xfail on name resolution error in github suite by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/523\"\u003efsspec/universal_pathlib#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix behaviour of UPath.parent and UPath.parents by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/529\"\u003efsspec/universal_pathlib#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust behavior of UPath.copy and UPath.copy_into with str and Path targets by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/530\"\u003efsspec/universal_pathlib#530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix S3Path copy to Local: name collision of file / dir by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/533\"\u003efsspec/universal_pathlib#533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecut release 0.3.8 by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/534\"\u003efsspec/universal_pathlib#534\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/lagamura\"\u003e\u003ccode\u003e@​lagamura\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/503\"\u003efsspec/universal_pathlib#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/avalentino\"\u003e\u003ccode\u003e@​avalentino\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/504\"\u003efsspec/universal_pathlib#504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/509\"\u003efsspec/universal_pathlib#509\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fsspec/universal_pathlib/compare/v0.3.7...v0.3.8\"\u003ehttps://github.com/fsspec/universal_pathlib/compare/v0.3.7...v0.3.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.3.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typing example in README by \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/484\"\u003efsspec/universal_pathlib#484\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd FTPPath implementation by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/485\"\u003efsspec/universal_pathlib#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath: fix maintainer display on pypi by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/486\"\u003efsspec/universal_pathlib#486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch and assert warnings in tests by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/487\"\u003efsspec/universal_pathlib#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix trailing slash behavior by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/488\"\u003efsspec/universal_pathlib#488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTests without network connection by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/492\"\u003efsspec/universal_pathlib#492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire .cwd() for relative paths in .rename() by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/493\"\u003efsspec/universal_pathlib#493\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix MemoryPath root by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/495\"\u003efsspec/universal_pathlib#495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.core: deprecate keyword arguments for UPath.rename() by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/496\"\u003efsspec/universal_pathlib#496\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/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/484\"\u003efsspec/universal_pathlib#484\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fsspec/universal_pathlib/blob/main/CHANGELOG.md\"\u003euniversal-pathlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.3.8] - 2026-01-11\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etests: add missing pathlib abc tests (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/511\"\u003e#511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: split base test cases into joinable/readable/writable tests (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/507\"\u003e#507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: describe UPath/s3fs behavior with \u003ccode\u003eis_dir()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/503\"\u003e#503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupath.implementations.cloud: fix S3Path copy to local with name collision of file/dir (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.core: fix behaviour of \u003ccode\u003eUPath.parent\u003c/code\u003e and \u003ccode\u003eUPath.parents\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/529\"\u003e#529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.github: adjust GitHubPath error reporting (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/522\"\u003e#522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.cloud: fix error handling on HfPath (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/521\"\u003e#521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.zip: disable write mode in universal-pathlib (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.tar: fix error handling for write methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/519\"\u003e#519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.http: fix HTTPPath error handling for unsupported methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/518\"\u003e#518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.data: fix DataPath error handling for unsupported methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/517\"\u003e#517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.core: fix \u003ccode\u003etouch()\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/515\"\u003e#515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.extensions: fix \u003ccode\u003eis_relative_to()\u003c/code\u003e for extensions (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/510\"\u003e#510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.extensions: fix error behavior for \u003ccode\u003ehardlink_to()\u003c/code\u003e backport and \u003ccode\u003esymlink_to()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/508\"\u003e#508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath: fix \u003ccode\u003eiterdir()\u003c/code\u003e behaviour when raising NotADirectoryError for all UPath subclasses (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: xfail on name resolution error in github suite (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/523\"\u003e#523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: fix GitHub tests without a network connection (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/509\"\u003e#509\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupath: adjust behavior of \u003ccode\u003eUPath.copy()\u003c/code\u003e and \u003ccode\u003eUPath.copy_into()\u003c/code\u003e with str and Path targets (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.core: handover cached fs instances in \u003ccode\u003ewith_segments()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/516\"\u003e#516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: split test suite according to abcs and cleanup tests (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/513\"\u003e#513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: remove two unused helper functions introduced in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/492\"\u003e#492\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/505\"\u003e#505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: do not hardcode Python executable name (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/504\"\u003e#504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: updated development dependencies (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/501\"\u003e#501\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.3.7] - 2025-12-03\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupath.implementations.ftp: added FTPPath support (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: added comprehensive warning checks in test suite (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: added xfail handling for network connectivity issues (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/492\"\u003e#492\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupath: fixed trailing slash behavior for cloud paths (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.core: fixed rename implementation for relative paths (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.memory: fixed MemoryPath root (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/495\"\u003e#495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.ftp: added support for FTP modification time info format (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.local: fixed rename return type on Python 3.14+ (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.extensions: fixed .cwd() behavior for ProxyUPath (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.extensions: fixed typing of .cwd() method (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: fixed typing example in README (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/484\"\u003e#484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epypi: fixed maintainer display on PyPI (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/486\"\u003e#486\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/89d2e6d8fa0fa0b9dec6c1dcb0928c051ea6ca9f\"\u003e\u003ccode\u003e89d2e6d\u003c/code\u003e\u003c/a\u003e cut release 0.3.8 (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/534\"\u003e#534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/c4c1fe317dc71b069697ab597d76a28aa8cf0e57\"\u003e\u003ccode\u003ec4c1fe3\u003c/code\u003e\u003c/a\u003e Fix S3Path copy to Local: name collision of file / dir (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/9ceaf2f2c3a00475eeb46c7ccfd6d43152a0d6f6\"\u003e\u003ccode\u003e9ceaf2f\u003c/code\u003e\u003c/a\u003e Adjust behavior of UPath.copy and UPath.copy_into with str and Path targets (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/4ff77c729626dfd2ebe6caed8ac52260c62d2145\"\u003e\u003ccode\u003e4ff77c7\u003c/code\u003e\u003c/a\u003e Fix behaviour of UPath.parent and UPath.parents (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/529\"\u003e#529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/fb7703d7883e5bdc5f3eda6caab3a7b974dd806e\"\u003e\u003ccode\u003efb7703d\u003c/code\u003e\u003c/a\u003e tests: xfail on name resolution error in github suite (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/523\"\u003e#523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/3fd061c3ff98d0659f722be7617b50703a4a3052\"\u003e\u003ccode\u003e3fd061c\u003c/code\u003e\u003c/a\u003e upath.implementations.github: adjust GitHubPath error reporting (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/522\"\u003e#522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/ef8888af5260b0e16566c6c4ff9ecd392eafc8d4\"\u003e\u003ccode\u003eef8888a\u003c/code\u003e\u003c/a\u003e upath.implementations.cloud: fix error handling on HfPath (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/521\"\u003e#521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/043248d87e2c07bad244185f64cae4a27c683ae6\"\u003e\u003ccode\u003e043248d\u003c/code\u003e\u003c/a\u003e upath.implementations.zip: disable write mode in universal-pathlib (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/f9d9445c4b7dc16e5b374db12d7076e3439e5e5c\"\u003e\u003ccode\u003ef9d9445\u003c/code\u003e\u003c/a\u003e upath.implementations.tar: fix error handling for write methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/519\"\u003e#519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/22e598a145c10c5baf17cbe7919c6e5da0d28f13\"\u003e\u003ccode\u003e22e598a\u003c/code\u003e\u003c/a\u003e Fix HTTPPath error handling for unsupported methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/518\"\u003e#518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/universal_pathlib/compare/v0.3.6...v0.3.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `urllib3` from 2.5.0 to 2.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/urllib3/urllib3/releases\"\u003eurllib3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.6.3\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a security issue where decompression-bomb safeguards of the streaming API were bypassed when HTTP redirects were followed. (CVE-2026-21441 reported by \u003ca href=\"https://github.com/D47A\"\u003e\u003ccode\u003e@​D47A\u003c/code\u003e\u003c/a\u003e, 8.9 High, GHSA-38jv-5279-wg99)\u003c/li\u003e\n\u003cli\u003eStarted treating \u003ccode\u003eRetry-After\u003c/code\u003e times greater than 6 hours as 6 hours by default. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3743\"\u003eurllib3/urllib3#3743\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eurllib3.connection.VerifiedHTTPSConnection\u003c/code\u003e on Emscripten. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3752\"\u003eurllib3/urllib3#3752\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.6.2\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eHTTPResponse.read_chunked()\u003c/code\u003e to properly handle leftover data in the decoder's buffer when reading compressed chunked responses. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3734\"\u003eurllib3/urllib3#3734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.6.1\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore previously removed \u003ccode\u003eHTTPResponse.getheaders()\u003c/code\u003e and \u003ccode\u003eHTTPResponse.getheader()\u003c/code\u003e methods. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3731\"\u003e#3731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.6.0\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a security issue where streaming API could improperly handle highly compressed HTTP content (\u0026quot;decompression bombs\u0026quot;) leading to excessive resource consumption even when a small amount of data was requested. Reading small chunks of compressed data is safer and much more efficient now. (CVE-2025-66471 reported by \u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e, 8.9 High, GHSA-2xpw-w6gg-jr37)\u003c/li\u003e\n\u003cli\u003eFixed a security issue where an attacker could compose an HTTP response with virtually unlimited links in the \u003ccode\u003eContent-Encoding\u003c/code\u003e header, potentially leading to a denial of service (DoS) attack by exhausting system resources during decoding. The number of allowed chained encodings is now limited to 5. (CVE-2025-66418 reported by \u003ca href=\"https://github.com/illia-v\"\u003e\u003ccode\u003e@​illia-v\u003c/code\u003e\u003c/a\u003e, 8.9 High, GHSA-gm62-xv2j-4w53)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIf urllib3 is not installed with the optional \u003ccode\u003eurllib3[brotli]\u003c/code\u003e extra, but your environment contains a Brotli/brotlicffi/brotlipy package anyway, make sure to upgrade it to at least Brotli 1.2.0 or brotlicffi 1.2.0.0 to  benefit from the security fixes and avoid warnings. Prefer using  \u003ccode\u003eurllib3[brotli]\u003c/code\u003e to install a compatible Brotli package automatically.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/urllib3/urllib3/blob/main/CHANGES.rst\"\u003eurllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.6.3 (2026-01-07)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a high-severity security issue where decompression-bomb safeguards of\nthe streaming API were bypassed when HTTP redirects were followed.\n(\u003ccode\u003eGHSA-38jv-5279-wg99 \u0026lt;https://github.com/urllib3/urllib3/security/advisories/GHSA-38jv-5279-wg99\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eStarted treating \u003ccode\u003eRetry-After\u003c/code\u003e times greater than 6 hours as 6 hours by\ndefault. (\u003ccode\u003e[#3743](https://github.com/urllib3/urllib3/issues/3743) \u0026lt;https://github.com/urllib3/urllib3/issues/3743\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eurllib3.connection.VerifiedHTTPSConnection\u003c/code\u003e on Emscripten.\n(\u003ccode\u003e[#3752](https://github.com/urllib3/urllib3/issues/3752) \u0026lt;https://github.com/urllib3/urllib3/issues/3752\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.6.2 (2025-12-11)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eHTTPResponse.read_chunked()\u003c/code\u003e to properly handle leftover data in\nthe decoder's buffer when reading compressed chunked responses.\n(\u003ccode\u003e[#3734](https://github.com/urllib3/urllib3/issues/3734) \u0026lt;https://github.com/urllib3/urllib3/issues/3734\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.6.1 (2025-12-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRestore previously removed \u003ccode\u003eHTTPResponse.getheaders()\u003c/code\u003e and\n\u003ccode\u003eHTTPResponse.getheader()\u003c/code\u003e methods.\n(\u003ccode\u003e[#3731](https://github.com/urllib3/urllib3/issues/3731) \u0026lt;https://github.com/urllib3/urllib3/issues/3731\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.6.0 (2025-12-05)\u003c/h1\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a security issue where streaming API could improperly handle highly\ncompressed HTTP content (\u0026quot;decompression bombs\u0026quot;) leading to excessive resource\nconsumption even when a small amount of data was requested. Reading small\nchunks of compressed data is safer and much more efficient now.\n(\u003ccode\u003eGHSA-2xpw-w6gg-jr37 \u0026lt;https://github.com/urllib3/urllib3/security/advisories/GHSA-2xpw-w6gg-jr37\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eFixed a security issue where an attacker could compose an HTTP response with\nvirtually unlimited links in the \u003ccode\u003eContent-Encoding\u003c/code\u003e header, potentially\nleading to a denial of service (DoS) attack by exhausting system resources\nduring decoding. The number of allowed chained encodings is now limited to 5.\n(\u003ccode\u003eGHSA-gm62-xv2j-4w53 \u0026lt;https://github.com/urllib3/urllib3/security/advisories/GHSA-gm62-xv2j-4w53\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. caution::\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIf urllib3 is not installed with the optional \u003ccode\u003eurllib3[brotli]\u003c/code\u003e extra, but\nyour environment contains a Brotli/brotlicffi/brotlipy package anyway, make\nsure to upgrade it to at least Brotli 1.2.0 or brotlicffi 1.2.0.0 to\nbenefit from the security fixes and avoid warnings. Prefer using\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/0248277dd7ac0239204889ca991353ad3e3a1ddc\"\u003e\u003ccode\u003e0248277\u003c/code\u003e\u003c/a\u003e Release 2.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/8864ac407bba8607950025e0979c4c69bc7abc7b\"\u003e\u003ccode\u003e8864ac4\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/70cecb27ca99d56aaaeb63ac27ee270ef2b24c5c\"\u003e\u003ccode\u003e70cecb2\u003c/code\u003e\u003c/a\u003e Fix Scorecard issues related to vulnerable dev dependencies (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3755\"\u003e#3755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/41f249abe1ef3e20768588969c4035aba060a359\"\u003e\u003ccode\u003e41f249a\u003c/code\u003e\u003c/a\u003e Move \u0026quot;v2.0 Migration Guide\u0026quot; to the end of the table of contents (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3747\"\u003e#3747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/fd4dffd2fc544166b76151a2fa3d7b7c0eab540c\"\u003e\u003ccode\u003efd4dffd\u003c/code\u003e\u003c/a\u003e Patch \u003ccode\u003eVerifiedHTTPSConnection\u003c/code\u003e for Emscripten (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3752\"\u003e#3752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/13f0bfd55e4468fe1ea9c6f809d3a87b0f93ebab\"\u003e\u003ccode\u003e13f0bfd\u003c/code\u003e\u003c/a\u003e Handle massive values in Retry-After when calculating time to sleep for (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3743\"\u003e#3743\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/8c480bf87bcefd321b3a1ae47f04e908b6b2ed7b\"\u003e\u003ccode\u003e8c480bf\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3748\"\u003e#3748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/4b40616e959c0a2c466e8075f2a785a9f99bb0c1\"\u003e\u003ccode\u003e4b40616\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4.3.0 to 5.0.1 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3750\"\u003e#3750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/82b8479663d037d220c883f1584dd01a43bb273b\"\u003e\u003ccode\u003e82b8479\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3749\"\u003e#3749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/34284cb01700bb7d4fdd472f909e22393e9174e2\"\u003e\u003ccode\u003e34284cb\u003c/code\u003e\u003c/a\u003e Mention experimental features in the security policy (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3746\"\u003e#3746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/urllib3/urllib3/compare/2.5.0...2.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 4.5.0 to 4.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.5.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.5.1 - 2025-12-16\u003c/h1\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/8a0630ca1aa7f6d5665effe674ebe2022af17919\"\u003e\u003ccode\u003e8a0630c\u003c/code\u003e\u003c/a\u003e v4.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fcbc745744377ef2c9fe6a7e1a21c67d797933dc\"\u003e\u003ccode\u003efcbc745\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e from pre-commit/empty-setup-py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/51592eececd13b99c40ec477ad8f810799147227\"\u003e\u003ccode\u003e51592ee\u003c/code\u003e\u003c/a\u003e fix python local template when artifact dirs are present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/67e8faf80baffcb4b79c31b89ca9a413a1cd6776\"\u003e\u003ccode\u003e67e8faf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3596\"\u003e#3596\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/c251e6b6d011b3b262339dc8e109de29b0ff8db1\"\u003e\u003ccode\u003ec251e6b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/98ccafa3ce42b846b9a9be9ed73fbbec7415496d\"\u003e\u003ccode\u003e98ccafa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3593\"\u003e#3593\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/48953556d06f8cdb4248002c1a0044e69e0916b3\"\u003e\u003ccode\u003e4895355\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2cedd58e691f4d3bc6ab266c7d7c28464c3502be\"\u003e\u003ccode\u003e2cedd58\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3588\"\u003e#3588\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/465192d7de58d569776eaaa818c94cb2b962d436\"\u003e\u003ccode\u003e465192d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fd42f96874279c4f65363bfea5238714419e54d7\"\u003e\u003ccode\u003efd42f96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3586\"\u003e#3586\u003c/a\u003e from pre-commit/zipapp-sha256-file-not-needed\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/pre-commit/compare/v4.5.0...v4.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.7 to 0.14.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.11\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-08.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConsolidate diagnostics for matched disable/enable suppression comments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22099\"\u003e#22099\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReport diagnostics for invalid/unmatched range suppression comments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21908\"\u003e#21908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Passing positional argument into \u003ccode\u003eairflow.lineage.hook.HookLineageCollector.create_asset\u003c/code\u003e is not allowed (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22046\"\u003e#22046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003eFURB192\u003c/code\u003e fix as always unsafe (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22210\"\u003e#22210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003enon-empty-init-module\u003c/code\u003e (\u003ccode\u003eRUF067\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22143\"\u003e#22143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix GitHub format for multi-line diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22108\"\u003e#22108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-unused-arguments\u003c/code\u003e] Mark \u003ccode\u003e**kwargs\u003c/code\u003e in \u003ccode\u003eTypeVar\u003c/code\u003e as used (\u003ccode\u003eARG001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22214\"\u003e#22214\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehelp:\u003c/code\u003e subdiagnostics for several Ruff rules that can sometimes appear to disagree with \u003ccode\u003ety\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22331\"\u003e#22331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Demote \u003ccode\u003ePLW1510\u003c/code\u003e fix to display-only (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22318\"\u003e#22318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Ignore identical members (\u003ccode\u003ePLR1714\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22220\"\u003e#22220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Improve diagnostic range for \u003ccode\u003ePLC0206\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22312\"\u003e#22312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Improve fix title for \u003ccode\u003eRUF102\u003c/code\u003e invalid rule code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22100\"\u003e#22100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e]: Avoid unnecessary builtins import for \u003ccode\u003eSIM105\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22358\"\u003e#22358\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow Python 3.15 as valid \u003ccode\u003etarget-version\u003c/code\u003e value in preview (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22419\"\u003e#22419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCheck \u003ccode\u003erequired-version\u003c/code\u003e before parsing rules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22410\"\u003e#22410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude configured \u003ccode\u003esrc\u003c/code\u003e directories when resolving graphs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22451\"\u003e#22451\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003eT201\u003c/code\u003e suggestion to not use root logger to satisfy \u003ccode\u003eLOG015\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22059\"\u003e#22059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eiter\u003c/code\u003e example in unsafe fixes doc (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22118\"\u003e#22118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8_print\u003c/code\u003e] better suggestion for \u003ccode\u003ebasicConfig\u003c/code\u003e in \u003ccode\u003eT201\u003c/code\u003e docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22101\"\u003e#22101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Restore the fix safety docs for \u003ccode\u003ePLW0133\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22211\"\u003e#22211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Jupyter notebook discovery info for editors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22447\"\u003e#22447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cenviity\"\u003e\u003ccode\u003e@​cenviity\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/njhearp\"\u003e\u003ccode\u003e@​njhearp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cbachhuber\"\u003e\u003ccode\u003e@​cbachhuber\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelle-openai\"\u003e\u003ccode\u003e@​jelle-openai\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.11\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-08.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConsolidate diagnostics for matched disable/enable suppression comments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22099\"\u003e#22099\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReport diagnostics for invalid/unmatched range suppression comments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21908\"\u003e#21908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Passing positional argument into \u003ccode\u003eairflow.lineage.hook.HookLineageCollector.create_asset\u003c/code\u003e is not allowed (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22046\"\u003e#22046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003eFURB192\u003c/code\u003e fix as always unsafe (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22210\"\u003e#22210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003enon-empty-init-module\u003c/code\u003e (\u003ccode\u003eRUF067\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22143\"\u003e#22143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix GitHub format for multi-line diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22108\"\u003e#22108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-unused-arguments\u003c/code\u003e] Mark \u003ccode\u003e**kwargs\u003c/code\u003e in \u003ccode\u003eTypeVar\u003c/code\u003e as used (\u003ccode\u003eARG001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22214\"\u003e#22214\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehelp:\u003c/code\u003e subdiagnostics for several Ruff rules that can sometimes appear to disagree with \u003ccode\u003ety\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22331\"\u003e#22331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Demote \u003ccode\u003ePLW1510\u003c/code\u003e fix to display-only (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22318\"\u003e#22318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Ignore identical members (\u003ccode\u003ePLR1714\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22220\"\u003e#22220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Improve diagnostic range for \u003ccode\u003ePLC0206\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh...\n\n_Description has been truncated_","html_url":"https://github.com/statisticsnorway/dapla-toolbelt-metadata/pull/363","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/statisticsnorway%2Fdapla-toolbelt-metadata/issues/363","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/363/packages"},{"uuid":"3804152273","node_id":"PR_kwDOKKn4uM68sQu0","number":289,"state":"closed","title":"Update gcsfs requirement from \u003c=2024.2.0 to \u003c=2026.1.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-02-19T01:07:51.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-12T12:39:18.000Z","updated_at":"2026-02-19T01:08:01.000Z","time_to_close":3241713,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"gcsfs","old_version":"\u003c=2024.2.0","new_version":"\u003c=2026.1.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [gcsfs](https://github.com/fsspec/gcsfs) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/3ed414aa2c5e5a78556726be11d663ff346bab40\"\u003e\u003ccode\u003e3ed414a\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/bca0139193d8dd8103fc52bfa5caf2ffd2172e6a\"\u003e\u003ccode\u003ebca0139\u003c/code\u003e\u003c/a\u003e Implement async upload methods and support async mode in ExtendedGcsfs (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9d64f5c5c74c59c840f440f82288f047bf557a3f\"\u003e\u003ccode\u003e9d64f5c\u003c/code\u003e\u003c/a\u003e mkdir override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/4f9f4ac35f1df42dacfb56f9be200730058fd5ef\"\u003e\u003ccode\u003e4f9f4ac\u003c/code\u003e\u003c/a\u003e reformat benchmark readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/cdd65f5808f6864bd8bed08e7bb7a9359ab0cbe7\"\u003e\u003ccode\u003ecdd65f5\u003c/code\u003e\u003c/a\u003e Adds GCSFS Microbenchmarks (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/722\"\u003e#722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c8ed96a77d027115b436cd9062825f703955b891\"\u003e\u003ccode\u003ec8ed96a\u003c/code\u003e\u003c/a\u003e ✨ Support alternative GCP Universes (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e03bf2949664282d4eb09ba18c62a2d98085cba9\"\u003e\u003ccode\u003ee03bf29\u003c/code\u003e\u003c/a\u003e Override info for hns (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14276d82827f21c1ee6b736ff7896ae4211cc726\"\u003e\u003ccode\u003e14276d8\u003c/code\u003e\u003c/a\u003e Update ci pipeline to run tests on HNS bucket (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/729\"\u003e#729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c5ac0e3e65154d4d5ec1d1de1566a7b1ea7781d3\"\u003e\u003ccode\u003ec5ac0e3\u003c/code\u003e\u003c/a\u003e feat(zb-write): Support write mode in Zonal File (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/06399c09003b66292bf25206e500796a8855ce72\"\u003e\u003ccode\u003e06399c0\u003c/code\u003e\u003c/a\u003e Adds mv/rename method implementation for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/727\"\u003e#727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/0.0.1...2026.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.\n","html_url":"https://github.com/google/Xee/pull/289","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2FXee/issues/289","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/289/packages"},{"uuid":"3753216875","node_id":"PR_kwDOKKn4uM66HHOV","number":285,"state":"closed","title":"Update gcsfs requirement from \u003c=2024.2.0 to \u003c=2025.12.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-12T12:39:21.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-22T10:20:59.000Z","updated_at":"2026-01-12T12:39:22.000Z","time_to_close":1822702,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"gcsfs","old_version":"\u003c=2024.2.0","new_version":"\u003c=2025.12.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [gcsfs](https://github.com/fsspec/gcsfs) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/6f38dd7e8914532e42ec621f4376212cd16fef11\"\u003e\u003ccode\u003e6f38dd7\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/717\"\u003e#717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/54c6c9223aca7c4b7b071fe6ec09be6aada944ca\"\u003e\u003ccode\u003e54c6c92\u003c/code\u003e\u003c/a\u003e Fixes for actual GCS bucket tests (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/714\"\u003e#714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/13fe69d3f6b7014c8f216dc4b0ee45e982cfb363\"\u003e\u003ccode\u003e13fe69d\u003c/code\u003e\u003c/a\u003e adds the logic to only run extended gcsfilesystem tests when experimental env...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/47c2d76efdc68e6225f54a1dd025bb50ac8c6a0c\"\u003e\u003ccode\u003e47c2d76\u003c/code\u003e\u003c/a\u003e Feat: Introduce ExtendedGcsFileSystem for Zonal Bucket gRPC Read Path (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/707\"\u003e#707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/5315c7057a19b1538a6bb25985f9f20ae3385074\"\u003e\u003ccode\u003e5315c70\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop EOL 3.9 (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/709\"\u003e#709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/45953e2534a05b8c3aa33f392fbf1157a62c157b\"\u003e\u003ccode\u003e45953e2\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/706\"\u003e#706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/3d51c1756b2fc3e0f5d2891aea4a7f0b30f71b01\"\u003e\u003ccode\u003e3d51c17\u003c/code\u003e\u003c/a\u003e Fix for slower exists() and info() calls (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/705\"\u003e#705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/6695146a2c27f54051f514bb890e955ca821b89c\"\u003e\u003ccode\u003e6695146\u003c/code\u003e\u003c/a\u003e Add CoC (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/f547fd832c0b5a7060dd1e1ae1f7527355b639d1\"\u003e\u003ccode\u003ef547fd8\u003c/code\u003e\u003c/a\u003e Should not attempt to create bucket by default on mkdir (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/701\"\u003e#701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/bebff271a462d4af57bc62e972d1e7ad5c5f429f\"\u003e\u003ccode\u003ebebff27\u003c/code\u003e\u003c/a\u003e Add goatcounter (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/700\"\u003e#700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/0.0.1...2025.12.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 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/google/Xee/pull/285","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2FXee/issues/285","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/285/packages"},{"uuid":"3535248591","node_id":"PR_kwDOChdfis6uxuqr","number":8298,"state":"open","title":"chore(deps): bump gcsfs from 2025.3.2 to 2025.9.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":8,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-21T07:19:39.000Z","updated_at":"2026-01-05T16:03:38.637Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"gcsfs","old_version":"2025.3.2","new_version":"2025.9.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Bumps [gcsfs](https://github.com/fsspec/gcsfs) from 2025.3.2 to 2025.9.0.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/0b0e077e7a84640ff5ed6c8807026b9e5512d65a\"\u003e\u003ccode\u003e0b0e077\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/64e232c2ee976464ecf9e391cfd592e849d7ffa0\"\u003e\u003ccode\u003e64e232c\u003c/code\u003e\u003c/a\u003e Fix iterating over every entry (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/697\"\u003e#697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/d97099ab40138745569fff98a098defcd7693270\"\u003e\u003ccode\u003ed97099a\u003c/code\u003e\u003c/a\u003e Ensure right error type for get() on nonexistent (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/54e8faa3c6b620f99e232a803d2a86b717c1e6e4\"\u003e\u003ccode\u003e54e8faa\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/40882ce5fc55b941bf566d80f1fc79f7366ccd70\"\u003e\u003ccode\u003e40882ce\u003c/code\u003e\u003c/a\u003e add support message (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/7872bd7a931fb4285d5762ff5d861b8653fc7b70\"\u003e\u003ccode\u003e7872bd7\u003c/code\u003e\u003c/a\u003e remove addcidental inclusion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/55cb49862eaebbe4e6e99455f1eb4079705f66d9\"\u003e\u003ccode\u003e55cb498\u003c/code\u003e\u003c/a\u003e less refresh in ci (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/818b563e7c171d950b12378acb066660f0d9ac81\"\u003e\u003ccode\u003e818b563\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/689\"\u003e#689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/805295a96033fcfcade9151f73a568a30e1bbe84\"\u003e\u003ccode\u003e805295a\u003c/code\u003e\u003c/a\u003e Use correct timezone conversion for credentials expiry timestamp (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/1543ab4fcc4b17fcaa680abab0e93fed33980e21\"\u003e\u003ccode\u003e1543ab4\u003c/code\u003e\u003c/a\u003e Fix timezone comparison (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/683\"\u003e#683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.3.2...2025.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gcsfs\u0026package-manager=pip\u0026previous-version=2025.3.2\u0026new-version=2025.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/mozilla/bigquery-etl/pull/8298","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fbigquery-etl/issues/8298","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8298/packages"},{"uuid":"2877688462","node_id":"PR_kwDOOIh6886rhgqO","number":188,"state":"open","title":"Bump the poetry-dependencies group across 1 directory with 49 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T10:25:41.000Z","updated_at":"2025-10-01T10:25:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"poetry-dependencies","update_count":49,"packages":[{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"coverage","old_version":"7.10.4","new_version":"7.10.7","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"furo","old_version":"2025.7.19","new_version":"2025.9.25","repository_url":"https://github.com/pradyunsg/furo"},{"name":"mypy","old_version":"1.17.1","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"ruff","old_version":"0.12.10","new_version":"0.13.2","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pytest","old_version":"8.4.1","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"sphinx-click","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/click-contrib/sphinx-click"},{"name":"xdoctest","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/Erotemic/xdoctest"},{"name":"anyio","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"beautifulsoup4","old_version":"4.13.4","new_version":"4.14.2"},{"name":"cffi","old_version":"1.17.1","new_version":"2.0.0","repository_url":"https://github.com/python-cffi/cffi"},{"name":"click","old_version":"8.2.1","new_version":"8.3.0","repository_url":"https://github.com/pallets/click"},{"name":"dash-ag-grid","old_version":"32.3.1","new_version":"32.3.2","repository_url":"https://github.com/plotly/dash-ag-grid"},{"name":"debugpy","old_version":"1.8.16","new_version":"1.8.17","repository_url":"https://github.com/microsoft/debugpy"},{"name":"duckdb","old_version":"1.3.2","new_version":"1.4.0","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"executing","old_version":"2.2.0","new_version":"2.2.1","repository_url":"https://github.com/alexmojaki/executing"},{"name":"gcsfs","old_version":"2025.7.0","new_version":"2025.9.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"google-auth","old_version":"2.40.3","new_version":"2.41.1","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-cloud-storage","old_version":"3.3.0","new_version":"3.4.0","repository_url":"https://github.com/googleapis/python-storage"},{"name":"grpcio","old_version":"1.74.0","new_version":"1.75.1","repository_url":"https://github.com/grpc/grpc"},{"name":"grpcio-status","old_version":"1.74.0","new_version":"1.75.1"},{"name":"identify","old_version":"2.6.13","new_version":"2.6.14","repository_url":"https://github.com/pre-commit/identify"},{"name":"lxml","old_version":"6.0.1","new_version":"6.0.2","repository_url":"https://github.com/lxml/lxml"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"narwhals","old_version":"2.1.2","new_version":"2.6.0","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"opentelemetry-api","old_version":"1.36.0","new_version":"1.37.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"orjson","old_version":"3.11.2","new_version":"3.11.3","repository_url":"https://github.com/ijl/orjson"},{"name":"pandas","old_version":"2.3.2","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"parso","old_version":"0.8.4","new_version":"0.8.5","repository_url":"https://github.com/davidhalter/parso"},{"name":"platformdirs","old_version":"4.3.8","new_version":"4.4.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"polars","old_version":"1.32.3","new_version":"1.33.1","repository_url":"https://github.com/pola-rs/polars"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"protobuf","old_version":"6.32.0","new_version":"6.32.1","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"psutil","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pycparser","old_version":"2.22","new_version":"2.23","repository_url":"https://github.com/eliben/pycparser"},{"name":"python-calamine","old_version":"0.4.0","new_version":"0.5.3","repository_url":"https://github.com/dimastbk/python-calamine"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"pyzmq","old_version":"27.0.2","new_version":"27.1.0","repository_url":"https://github.com/zeromq/pyzmq"},{"name":"ruamel-yaml-clib","old_version":"0.2.12","new_version":"0.2.14"},{"name":"shapely","old_version":"2.1.1","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"soupsieve","old_version":"2.7","new_version":"2.8","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"starlette","old_version":"0.47.2","new_version":"0.48.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"types-requests","old_version":"2.32.4.20250809","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"typing-extensions","old_version":"4.14.1","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.37.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"wcwidth","old_version":"0.2.13","new_version":"0.2.14","repository_url":"https://github.com/jquast/wcwidth"},{"name":"xlsxwriter","old_version":"3.2.5","new_version":"3.2.9","repository_url":"https://github.com/jmcnamara/XlsxWriter"}],"path":null,"ecosystem":"pip"},"body":"Bumps the poetry-dependencies group with 47 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.10.4` | `7.10.7` |\n| [furo](https://github.com/pradyunsg/furo) | `2025.7.19` | `2025.9.25` |\n| [mypy](https://github.com/python/mypy) | `1.17.1` | `1.18.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.12.10` | `0.13.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `8.4.2` |\n| [sphinx-click](https://github.com/click-contrib/sphinx-click) | `6.0.0` | `6.1.0` |\n| [xdoctest](https://github.com/Erotemic/xdoctest) | `1.2.0` | `1.3.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.10.0` | `4.11.0` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.4` | `4.14.2` |\n| [cffi](https://github.com/python-cffi/cffi) | `1.17.1` | `2.0.0` |\n| [click](https://github.com/pallets/click) | `8.2.1` | `8.3.0` |\n| [dash-ag-grid](https://github.com/plotly/dash-ag-grid) | `32.3.1` | `32.3.2` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.16` | `1.8.17` |\n| [duckdb](https://github.com/duckdb/duckdb-python) | `1.3.2` | `1.4.0` |\n| [executing](https://github.com/alexmojaki/executing) | `2.2.0` | `2.2.1` |\n| [gcsfs](https://github.com/fsspec/gcsfs) | `2025.7.0` | `2025.9.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.40.3` | `2.41.1` |\n| [google-cloud-storage](https://github.com/googleapis/python-storage) | `3.3.0` | `3.4.0` |\n| [grpcio](https://github.com/grpc/grpc) | `1.74.0` | `1.75.1` |\n| [grpcio-status](https://grpc.io) | `1.74.0` | `1.75.1` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.13` | `2.6.14` |\n| [lxml](https://github.com/lxml/lxml) | `6.0.1` | `6.0.2` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.1.2` | `2.6.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.36.0` | `1.37.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.2` | `3.11.3` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.2` | `2.3.3` |\n| [parso](https://github.com/davidhalter/parso) | `0.8.4` | `0.8.5` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.3.8` | `4.4.0` |\n| [polars](https://github.com/pola-rs/polars) | `1.32.3` | `1.33.1` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.32.0` | `6.32.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.1.0` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.22` | `2.23` |\n| [python-calamine](https://github.com/dimastbk/python-calamine) | `0.4.0` | `0.5.3` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [pyzmq](https://github.com/zeromq/pyzmq) | `27.0.2` | `27.1.0` |\n| ruamel-yaml-clib | `0.2.12` | `0.2.14` |\n| [shapely](https://github.com/shapely/shapely) | `2.1.1` | `2.1.2` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.7` | `2.8` |\n| [starlette](https://github.com/Kludex/starlette) | `0.47.2` | `0.48.0` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.4.20250809` | `2.32.4.20250913` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.1` | `4.15.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.37.0` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.2.13` | `0.2.14` |\n| [xlsxwriter](https://github.com/jmcnamara/XlsxWriter) | `3.2.5` | `3.2.9` |\n\n\nUpdates `black` from 25.1.0 to 25.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\u003ccode\u003eas\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild gallery docker image with python3-slim and reduce image size (\u003ca href=\"https://redirect.github.com/psf/black/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\u003ccode\u003eas\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\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/psf/black/commit/af0ba72a73598c76189d6dd1b21d8532255d5942\"\u003e\u003ccode\u003eaf0ba72\u003c/code\u003e\u003c/a\u003e Prepare docs for release 25.9.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4751\"\u003e#4751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/ffc01a027580d99401abb3197e83d50dc4f4c746\"\u003e\u003ccode\u003effc01a0\u003c/code\u003e\u003c/a\u003e Fix schema generation error caused by new click version (\u003ca href=\"https://redirect.github.com/psf/black/issues/4750\"\u003e#4750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/626b32fe2b5387656be6694da9a4b7a3148fb892\"\u003e\u003ccode\u003e626b32f\u003c/code\u003e\u003c/a\u003e Add normalizing for \u003ccode\u003e\\r\u003c/code\u003e style newlines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/57a461258f324e33bca189b2eb49d7f7a944ffe7\"\u003e\u003ccode\u003e57a4612\u003c/code\u003e\u003c/a\u003e Fix mypy type issue (\u003ca href=\"https://redirect.github.com/psf/black/issues/4745\"\u003e#4745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4f6ad7cf8c3092e0fb4d82f54fe77ccde134468a\"\u003e\u003ccode\u003e4f6ad7c\u003c/code\u003e\u003c/a\u003e Wrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/24f516961720c5578069dee30415b776359b7be5\"\u003e\u003ccode\u003e24f5169\u003c/code\u003e\u003c/a\u003e ci: Run diff-shades on unstable instead of preview (\u003ca href=\"https://redirect.github.com/psf/black/issues/4741\"\u003e#4741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4d55e6017993ee3f0927524e8bc19ead8de9e8ed\"\u003e\u003ccode\u003e4d55e60\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4744\"\u003e#4744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0cf39efdbc3aaea455f95d31e5b42efb6bd61478\"\u003e\u003ccode\u003e0cf39ef\u003c/code\u003e\u003c/a\u003e Improve the performance of get_string_prefix (\u003ca href=\"https://redirect.github.com/psf/black/issues/4742\"\u003e#4742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/1f779dec013db37475fa56a5c9939a09eab7e7d6\"\u003e\u003ccode\u003e1f779de\u003c/code\u003e\u003c/a\u003e Fix line ranges decorator edge case (\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/203fd6b5cdad975178b8174394a7f7fb13d14f02\"\u003e\u003ccode\u003e203fd6b\u003c/code\u003e\u003c/a\u003e Optimize Line string method (\u003ca href=\"https://redirect.github.com/psf/black/issues/4739\"\u003e#4739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.1.0...25.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.10.4 to 7.10.7\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.10.7 — 2025-09-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: with branch coverage in large files, generating HTML, JSON, or\nLCOV reports could take far too long due to some quadratic behavior when\ncreating the function and class index pages.  This is now fixed, closing\n\u003ccode\u003eissue 2048\u003c/code\u003e_.  Thanks to Daniel Diniz for help diagnosing the problem.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMost warnings and a few errors now have links to a page in the docs\nexplaining the specific message.  Closes \u003ccode\u003eissue 1921\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1921: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1921\"\u003enedbat/coveragepy#1921\u003c/a\u003e\n.. _issue 2048: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2048\"\u003enedbat/coveragepy#2048\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-6:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.6 — 2025-08-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003esource\u003c/code\u003e directories were not properly communicated to subprocesses\nthat ran in different directories, as reported in \u003ccode\u003eissue 1499\u003c/code\u003e_.  This is now\nfixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: \u003ccode\u003eAlex Gaynor continues fine-tuning \u0026lt;pull 2038_\u0026gt;\u003c/code\u003e_ the speed of\ncombination, especially with many contexts.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1499: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1499\"\u003enedbat/coveragepy#1499\u003c/a\u003e\n.. _pull 2038: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2038\"\u003enedbat/coveragepy#2038\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-5:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.5 — 2025-08-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBig speed improvements for \u003ccode\u003ecoverage combine\u003c/code\u003e: it's now about twice as\nfast! Huge thanks to Alex Gaynor for pull requests \u003ccode\u003e2032 \u0026lt;pull 2032_\u0026gt;\u003c/code\u003e\u003cem\u003e,\n\u003ccode\u003e2033 \u0026lt;pull 2033_\u0026gt;\u003c/code\u003e\u003c/em\u003e, and \u003ccode\u003e2034 \u0026lt;pull 2034_\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _pull 2032: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2032\"\u003enedbat/coveragepy#2032\u003c/a\u003e\n.. _pull 2033: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2033\"\u003enedbat/coveragepy#2033\u003c/a\u003e\n.. _pull 2034: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2034\"\u003enedbat/coveragepy#2034\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-4:\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/nedbat/coveragepy/commit/92a2af54e6bc948a9c536bd9b12bab70fb055904\"\u003e\u003ccode\u003e92a2af5\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/952afdaca658d5e1acdd533c727448a0b218caf0\"\u003e\u003ccode\u003e952afda\u003c/code\u003e\u003c/a\u003e docs: prep for 7.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/a301761e69da97b27662f395974d26f78fa8b2b5\"\u003e\u003ccode\u003ea301761\u003c/code\u003e\u003c/a\u003e build: riscv64 wheels (\u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/5daff8d38786aa540ff9bec622eb3389f117f911\"\u003e\u003ccode\u003e5daff8d\u003c/code\u003e\u003c/a\u003e docs: now source is formatted with ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/04bbc3acfd914fdd99ffec9873bc03bdc7329357\"\u003e\u003ccode\u003e04bbc3a\u003c/code\u003e\u003c/a\u003e docs: discuss cog in the contributing docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/c181b9315f59a81667da47cf3d760d0253872238\"\u003e\u003ccode\u003ec181b93\u003c/code\u003e\u003c/a\u003e build: use cog --check-fail-msg to instruct devs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/33c4ba196f49e0ee86ab0ff473c0876c0bacd5fa\"\u003e\u003ccode\u003e33c4ba1\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/0744b73b6b503ccf2cb75aba095c023672b921a8\"\u003e\u003ccode\u003e0744b73\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group across 1 directory with 2 updates (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/0d5a112fc54c1d5a07f3f2ec451779808902c9af\"\u003e\u003ccode\u003e0d5a112\u003c/code\u003e\u003c/a\u003e perf: bulk narrowing to avoid N**2. \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2048\"\u003e#2048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/a868ed9269ca474748130f5c6360cd2aae66ffc8\"\u003e\u003ccode\u003ea868ed9\u003c/code\u003e\u003c/a\u003e docs: mention Python Discord on the index page\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nedbat/coveragepy/compare/7.10.4...7.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `furo` from 2025.7.19 to 2025.9.25\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pradyunsg/furo/blob/main/docs/changelog.md\"\u003efuro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e2025.09.25 -- Gleaming Green\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange the dark mode code back to \u003ccode\u003enative\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025.07.19 -- Frozen Flame\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Switch to accessible-pygments themes\u003c/li\u003e\n\u003cli\u003e✨ Prefetch the sidebar logos\u003c/li\u003e\n\u003cli\u003e✨ Fix flickering header drop shadow on Safari\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003erel=edit\u003c/code\u003e attribute to \u0026quot;Edit this page\u0026quot; link/icon\u003c/li\u003e\n\u003cli\u003eBump NodeJS and npm dependency versions\u003c/li\u003e\n\u003cli\u003eBump Saas \u0026amp; Webpack major versions\u003c/li\u003e\n\u003cli\u003eImprove current page detection to be resilient to sticky elements above header\u003c/li\u003e\n\u003cli\u003eModernise Sass and use \u003ccode\u003e@use\u003c/code\u003e + \u003ccode\u003e@forward\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRemove top of code \u003ccode\u003eborder-radius\u003c/code\u003e with captions\u003c/li\u003e\n\u003cli\u003eRemove \u0026quot;debug printf\u0026quot; for headerTop value\u003c/li\u003e\n\u003cli\u003eUse distinct images for light and dark mode in the documentation\u003c/li\u003e\n\u003cli\u003eUse the modern Saas Modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024.08.06 -- Energetic Eminence\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for Sphinx 8\u003c/li\u003e\n\u003cli\u003e✨ Add smoother transitions between breakpoints\u003c/li\u003e\n\u003cli\u003eIncrease specificity of table-wrapper selector\u003c/li\u003e\n\u003cli\u003eAvoid page breaks inside paragraphs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024.07.18 -- Dull Denim\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove how icons are handled and aligned.\u003c/li\u003e\n\u003cli\u003eImprove scroll event handler.\u003c/li\u003e\n\u003cli\u003eHide the copybutton by default.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003esource_view_link\u003c/code\u003e configuration handling.\u003c/li\u003e\n\u003cli\u003eFix close tag on pencil icon.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024.05.06 -- Cheerful Cerulean\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add new custom icons for auto mode, reflecting the currently active theme.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/7c5f8fac52926f4854141cb5bf374c1681aedbec\"\u003e\u003ccode\u003e7c5f8fa\u003c/code\u003e\u003c/a\u003e Prepare release: 2025.09.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/8bfdc54b2e8803450a2cb5dcab643a40b6934be2\"\u003e\u003ccode\u003e8bfdc54\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/d92b62fee4cedd5b2ac1d267353d96541c9e0fb0\"\u003e\u003ccode\u003ed92b62f\u003c/code\u003e\u003c/a\u003e Switch the dark mode theme back to \u003ccode\u003enative\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/83c3446288014357bb8a7875bb81b664b7f15896\"\u003e\u003ccode\u003e83c3446\u003c/code\u003e\u003c/a\u003e Add Blender to \u0026quot;used by\u0026quot; section (\u003ca href=\"https://redirect.github.com/pradyunsg/furo/issues/898\"\u003e#898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/426ea05d879ee7dfdf74ba7c8b089f73081abbfd\"\u003e\u003ccode\u003e426ea05\u003c/code\u003e\u003c/a\u003e Remove old scrollbar selectors (\u003ca href=\"https://redirect.github.com/pradyunsg/furo/issues/892\"\u003e#892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/d22d31c4b196a29092ac606737b6e9a7ae99273a\"\u003e\u003ccode\u003ed22d31c\u003c/code\u003e\u003c/a\u003e Remove trailing slash on void elements (\u003ca href=\"https://redirect.github.com/pradyunsg/furo/issues/895\"\u003e#895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/f91944a688410f0aecd936b02f658279814ec017\"\u003e\u003ccode\u003ef91944a\u003c/code\u003e\u003c/a\u003e Fix invalid HTML5 (\u003ca href=\"https://redirect.github.com/pradyunsg/furo/issues/894\"\u003e#894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/a1f74d89a18ca59d231fe365bcc1616f6934ad28\"\u003e\u003ccode\u003ea1f74d8\u003c/code\u003e\u003c/a\u003e Back to development\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pradyunsg/furo/compare/2025.07.19...2025.09.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.17.1 to 1.18.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.18.2\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash on recursive alias (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19845\"\u003e19845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd additional guidance for stubtest errors when runtime is \u003ccode\u003eobject.__init__\u003c/code\u003e (Stephen Morton, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19733\"\u003e19733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix handling of None values in f-string expressions in mypyc (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19846\"\u003e19846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAli Hamdan\u003c/li\u003e\n\u003cli\u003eAnthony Sottile\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003eBrian Schubert\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eCharlie Denton\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eCoolCat467\u003c/li\u003e\n\u003cli\u003eDaniel Hnyk\u003c/li\u003e\n\u003cli\u003eEmily\u003c/li\u003e\n\u003cli\u003eEmma Smith\u003c/li\u003e\n\u003cli\u003eEthan Sarp\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJahongir Qurbonov\u003c/li\u003e\n\u003cli\u003eJelle Zijlstra\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eOmer Hadari\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003ePrinceNaroliya\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eRobsdedude\u003c/li\u003e\n\u003cli\u003eSaul Shanabrook\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.17\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.17 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features and bug fixes.\nYou can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\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/python/mypy/commit/df05f05555ee62dbdb9960c64cad186172e92be1\"\u003e\u003ccode\u003edf05f05\u003c/code\u003e\u003c/a\u003e remove +dev from version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/01a7a1285d03cb7a330359b22cb462aacb5f9720\"\u003e\u003ccode\u003e01a7a12\u003c/code\u003e\u003c/a\u003e Update changelog for 1.18.2 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19873\"\u003e#19873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/ca5abf09f3bfc543ac9c18a364696bc5da20bc03\"\u003e\u003ccode\u003eca5abf0\u003c/code\u003e\u003c/a\u003e Typeshed cherry-pick: Make type of \u003ccode\u003eunitest.mock.Any\u003c/code\u003e a subclass of \u003ccode\u003eAny\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python/mypy/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/9d794b57d9c5b03d61caa3286756c05e0ae3021b\"\u003e\u003ccode\u003e9d794b5\u003c/code\u003e\u003c/a\u003e [mypyc] fix: inappropriate \u003ccode\u003eNone\u003c/code\u003es in f-strings (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2c0510c84868b6bb42ef0f305b701e530a85c25f\"\u003e\u003ccode\u003e2c0510c\u003c/code\u003e\u003c/a\u003e stubtest: additional guidance on errors when runtime is object.\u003cstrong\u003einit\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19733\"\u003e#19733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2f3f03c3e39e68dbfa3544c01a34f99803b3e1c2\"\u003e\u003ccode\u003e2f3f03c\u003c/code\u003e\u003c/a\u003e Bump version to 1.18.2+dev for point release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/76698412bc1f3ca99000d52649acd5a0e06aa71d\"\u003e\u003ccode\u003e7669841\u003c/code\u003e\u003c/a\u003e Fix crash on recursive alias in indirection.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19845\"\u003e#19845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/03fbaa941bccc3a9f8aea796d586603b67119bf2\"\u003e\u003ccode\u003e03fbaa9\u003c/code\u003e\u003c/a\u003e bump version to 1.18.1 due to wheels failure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b44a1fbf0cf9fd90fd29d6bcd9f64c55dd2fd4c8\"\u003e\u003ccode\u003eb44a1fb\u003c/code\u003e\u003c/a\u003e removed +dev from version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/7197a99d1aebb1b7a584f82a53c44efb7dddf136\"\u003e\u003ccode\u003e7197a99\u003c/code\u003e\u003c/a\u003e Removed Unreleased in the Changelog for Release 1.18 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.17.1...v1.18.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.12.10 to 0.13.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.13.2\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-09-25.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eblocking-path-method\u003c/code\u003e (\u003ccode\u003eASYNC240\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20264\"\u003e#20264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Implement \u003ccode\u003emap-without-explicit-strict\u003c/code\u003e (\u003ccode\u003eB912\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20429\"\u003e#20429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bultins\u003c/code\u003e] Detect class-scope builtin shadowing in decorators, default args, and attribute initializers (\u003ccode\u003eA003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20178\"\u003e#20178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Implement \u003ccode\u003elogging-eager-conversion\u003c/code\u003e (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19942\"\u003e#19942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude \u003ccode\u003e.pyw\u003c/code\u003e files by default when linting and formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20458\"\u003e#20458\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeduplicate input paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20105\"\u003e#20105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Preserve trailing commas for single-element lists (\u003ccode\u003eC409\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19571\"\u003e#19571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Avoid syntax error from conflict with \u003ccode\u003ePIE790\u003c/code\u003e (\u003ccode\u003ePYI021\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20010\"\u003e#20010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Correct fix for positive \u003ccode\u003emaxsplit\u003c/code\u003e without separator (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20056\"\u003e#20056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e not to apply when \u003ccode\u003e__class__\u003c/code\u003e is a local variable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20497\"\u003e#20497\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix \u003ccode\u003eB004\u003c/code\u003e to skip invalid \u003ccode\u003ehasattr\u003c/code\u003e/\u003ccode\u003egetattr\u003c/code\u003e calls (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20486\"\u003e#20486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Replace \u003ccode\u003e-nan\u003c/code\u003e with \u003ccode\u003enan\u003c/code\u003e when using the value to construct a \u003ccode\u003eDecimal\u003c/code\u003e (\u003ccode\u003eFURB164\u003c/code\u003e ) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20391\"\u003e#20391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'Finding ways to help' to CONTRIBUTING.md (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20567\"\u003e#20567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate import path to \u003ccode\u003eruff-wasm-web\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20539\"\u003e#20539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Clarify the supported hashing functions (\u003ccode\u003eS324\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20534\"\u003e#20534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eplayground\u003c/code\u003e] Allow hover quick fixes to appear for overlapping diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20527\"\u003e#20527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eplayground\u003c/code\u003e] Fix non‑BMP code point handling in quick fixes and markers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20526\"\u003e#20526\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi\"\u003e\u003ccode\u003e@​BurntSushi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mtshiba\"\u003e\u003ccode\u003e@​mtshiba\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/second-ed\"\u003e\u003ccode\u003e@​second-ed\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShikChen\"\u003e\u003ccode\u003e@​ShikChen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PieterCK\"\u003e\u003ccode\u003e@​PieterCK\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GDYendell\"\u003e\u003ccode\u003e@​GDYendell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RazerM\"\u003e\u003ccode\u003e@​RazerM\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TaKO8Ki\"\u003e\u003ccode\u003e@​TaKO8Ki\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amyreese\"\u003e\u003ccode\u003e@​amyreese\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntbre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.13.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.13.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-09-25.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eblocking-path-method\u003c/code\u003e (\u003ccode\u003eASYNC240\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20264\"\u003e#20264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Implement \u003ccode\u003emap-without-explicit-strict\u003c/code\u003e (\u003ccode\u003eB912\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20429\"\u003e#20429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bultins\u003c/code\u003e] Detect class-scope builtin shadowing in decorators, default args, and attribute initializers (\u003ccode\u003eA003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20178\"\u003e#20178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Implement \u003ccode\u003elogging-eager-conversion\u003c/code\u003e (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19942\"\u003e#19942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude \u003ccode\u003e.pyw\u003c/code\u003e files by default when linting and formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20458\"\u003e#20458\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeduplicate input paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20105\"\u003e#20105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Preserve trailing commas for single-element lists (\u003ccode\u003eC409\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19571\"\u003e#19571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Avoid syntax error from conflict with \u003ccode\u003ePIE790\u003c/code\u003e (\u003ccode\u003ePYI021\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20010\"\u003e#20010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Correct fix for positive \u003ccode\u003emaxsplit\u003c/code\u003e without separator (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20056\"\u003e#20056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e not to apply when \u003ccode\u003e__class__\u003c/code\u003e is a local variable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20497\"\u003e#20497\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix \u003ccode\u003eB004\u003c/code\u003e to skip invalid \u003ccode\u003ehasattr\u003c/code\u003e/\u003ccode\u003egetattr\u003c/code\u003e calls (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20486\"\u003e#20486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Replace \u003ccode\u003e-nan\u003c/code\u003e with \u003ccode\u003enan\u003c/code\u003e when using the value to construct a \u003ccode\u003eDecimal\u003c/code\u003e (\u003ccode\u003eFURB164\u003c/code\u003e ) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20391\"\u003e#20391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'Finding ways to help' to CONTRIBUTING.md (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20567\"\u003e#20567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate import path to \u003ccode\u003eruff-wasm-web\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20539\"\u003e#20539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Clarify the supported hashing functions (\u003ccode\u003eS324\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20534\"\u003e#20534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eplayground\u003c/code\u003e] Allow hover quick fixes to appear for overlapping diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20527\"\u003e#20527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eplayground\u003c/code\u003e] Fix non‑BMP code point handling in quick fixes and markers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20526\"\u003e#20526\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi\"\u003e\u003ccode\u003e@​BurntSushi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mtshiba\"\u003e\u003ccode\u003e@​mtshiba\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/second-ed\"\u003e\u003ccode\u003e@​second-ed\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShikChen\"\u003e\u003ccode\u003e@​ShikChen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PieterCK\"\u003e\u003ccode\u003e@​PieterCK\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GDYendell\"\u003e\u003ccode\u003e@​GDYendell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RazerM\"\u003e\u003ccode\u003e@​RazerM\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TaKO8Ki\"\u003e\u003ccode\u003e@​TaKO8Ki\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amyreese\"\u003e\u003ccode\u003e@​amyreese\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntbre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.1\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/astral-sh/ruff/commit/b0bdf0334e38417f8617057cd0392a4b53954120\"\u003e\u003ccode\u003eb0bdf03\u003c/code\u003e\u003c/a\u003e Bump 0.13.2 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20576\"\u003e#20576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7331d393c555ece88aa69f685562163790ddf611\"\u003e\u003ccode\u003e7331d39\u003c/code\u003e\u003c/a\u003e Update rooster to 0.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20575\"\u003e#20575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/529e5fa6c24ea68501adb18245eab27c701598d2\"\u003e\u003ccode\u003e529e5fa\u003c/code\u003e\u003c/a\u003e [ty] Ecosystem analyzer: timing report (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20571\"\u003e#20571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/efbb80f7475c63b62981444d5c429109ff12ad32\"\u003e\u003ccode\u003eefbb80f\u003c/code\u003e\u003c/a\u003e [ty] Remove hack in protocol satisfiability check (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20568\"\u003e#20568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9f3cffc65cb834661e17263245761a66f9474af0\"\u003e\u003ccode\u003e9f3cffc\u003c/code\u003e\u003c/a\u003e Add 'Finding ways to help' to CONTRIBUTING.md (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20567\"\u003e#20567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/21be94ac33f445d8a681babec6c56ca3d1b67156\"\u003e\u003ccode\u003e21be94a\u003c/code\u003e\u003c/a\u003e [ty] Explicitly test assignability/subtyping between unions of nominal types ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b7d5dc98c193cc5cab00d557b6a392d35137d990\"\u003e\u003ccode\u003eb7d5dc9\u003c/code\u003e\u003c/a\u003e [ty] Add tests for interactions of \u003ccode\u003e@classmethod\u003c/code\u003e, \u003ccode\u003e@staticmethod\u003c/code\u003e, and proto...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e1bb74b25a0f730a5baff263d753ffe03cf857b1\"\u003e\u003ccode\u003ee1bb74b\u003c/code\u003e\u003c/a\u003e [ty] Match variadic argument to variadic parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20511\"\u003e#20511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/edeb45804ef9dbe348d393f3ab77288062a3c77e\"\u003e\u003ccode\u003eedeb458\u003c/code\u003e\u003c/a\u003e [ty] fallback to resolve_real_module in file_to_module (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20461\"\u003e#20461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bea92c822980b1575d58542dffa2c960393d7603\"\u003e\u003ccode\u003ebea92c8\u003c/code\u003e\u003c/a\u003e [ty] More precise type inference for dictionary literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20523\"\u003e#20523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.12.10...0.13.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.1 to 8.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13577\"\u003e#13577\u003c/a\u003e: Clarify that \u003ccode\u003epytest_generate_tests\u003c/code\u003e is discovered in test modules/classes; other hooks must be in \u003ccode\u003econftest.py\u003c/code\u003e or plugins.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13480\"\u003e#13480\u003c/a\u003e: Self-testing: fixed a few test failures when run with \u003ccode\u003e-Wdefault\u003c/code\u003e or a similar override.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13547\"\u003e#13547\u003c/a\u003e: Self-testing: corrected expected message for \u003ccode\u003etest_doctest_unexpected_exception\u003c/code\u003e in Python \u003ccode\u003e3.14\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13684\"\u003e#13684\u003c/a\u003e: Make pytest's own testsuite insensitive to the presence of the \u003ccode\u003eCI\u003c/code\u003e environment variable -- by \u003ccode\u003eogrisel\u003c/code\u003e{.interpreted-text role=\u0026quot;user\u0026quot;}.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bfae4224fd554d3d7f2c277a4cc092b6ec6af3ae\"\u003e\u003ccode\u003ebfae422\u003c/code\u003e\u003c/a\u003e Prepare release version 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/89905381a163be30ae87d62e5f750e902d750c5f\"\u003e\u003ccode\u003e8990538\u003c/code\u003e\u003c/a\u003e Fix passenv CI in tox ini and make tests insensitive to the presence of the C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ca676bfe005aebcb12f4146d1b0f1d2772e2cd5d\"\u003e\u003ccode\u003eca676bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13687\"\u003e#13687\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/e63f6e51c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/975a60a63ce385a44655596e254c1899feaa53e4\"\u003e\u003ccode\u003e975a60a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13686\"\u003e#13686\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/12bde8af6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7723ce84b87ab08f86ddafcb342acc28ba5ec99d\"\u003e\u003ccode\u003e7723ce8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13683\"\u003e#13683\u003c/a\u003e from even-even/fix_Exeption_to_Exception_in_errorMe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7f05680d1301e0969b30bcb3c4b27433c9ee2b7\"\u003e\u003ccode\u003eb7f0568\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13685\"\u003e#13685\u003c/a\u003e from CoretexShadow/fix/docs-pytest-generate-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2c94c4a6948ba53440818389298157fa5d5f94cd\"\u003e\u003ccode\u003e2c94c4a\u003c/code\u003e\u003c/a\u003e add missing colon (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13640\"\u003e#13640\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13641\"\u003e#13641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c3d7684bc01c8c48d05145a30c5211ca8656c68c\"\u003e\u003ccode\u003ec3d7684\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13606\"\u003e#13606\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/5f9938563...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/dc6e3be2ddc75a149b6d102d9b7c82ee47a00cfa\"\u003e\u003ccode\u003edc6e3be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13605\"\u003e#13605\u003c/a\u003e from The-Compiler/training-update-2025-07\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f87289c36c8dbe7740e3020f5546b6f8b0861ff0\"\u003e\u003ccode\u003ef87289c\u003c/code\u003e\u003c/a\u003e Fix crash with \u003ccode\u003etimes\u003c/code\u003e output style and skipped module (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13573\"\u003e#13573\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13579\"\u003e#13579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.1...8.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sphinx-click` from 6.0.0 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/58473a8dac250898e1dc7dfac5622dc938264bb4\"\u003e\u003ccode\u003e58473a8\u003c/code\u003e\u003c/a\u003e Migrate to trusted publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/0d4f938d799a669658fc2b0ef3ede100d9abf5ab\"\u003e\u003ccode\u003e0d4f938\u003c/code\u003e\u003c/a\u003e Drop support for Python \u0026lt; 3.10, add Python 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/073353abfc0f6a72ca3fc33b7272072ec422cccb\"\u003e\u003ccode\u003e073353a\u003c/code\u003e\u003c/a\u003e Migrate setuptools, mypy configuration to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/83a5a17736958a9e4119ecb9ad271e3f1bf223fc\"\u003e\u003ccode\u003e83a5a17\u003c/code\u003e\u003c/a\u003e Prefer Group over MultiCommand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/d9705e8a369211d60db0279fafb58f7f7fa079a7\"\u003e\u003ccode\u003ed9705e8\u003c/code\u003e\u003c/a\u003e Bump actions versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/a94049aed188e1d8ea58c5bb747218634b685625\"\u003e\u003ccode\u003ea94049a\u003c/code\u003e\u003c/a\u003e pre-commit: Bump versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/dc11fe14f6fa859773276f7492e326e49e47e0ba\"\u003e\u003ccode\u003edc11fe1\u003c/code\u003e\u003c/a\u003e pre-commit: Migrate to ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/c999be2eb4d2e7dd1bbee314be6d03c499a62cbf\"\u003e\u003ccode\u003ec999be2\u003c/code\u003e\u003c/a\u003e pre-commit: Bump versions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/click-contrib/sphinx-click/compare/6.0.0...6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `xdoctest` from 1.2.0 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Erotemic/xdoctest/releases\"\u003exdoctest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew \u003ccode\u003eASYNC\u003c/code\u003e basic directive to hold the asyncio event loop in any section of\ncode. Useful for multitasking tests.\u003c/li\u003e\n\u003cli\u003eSupport for 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003e16806_WORKAROUND\u003c/code\u003e as it is not longer needed for Python 3.8+\u003c/li\u003e\n\u003cli\u003eRemoved deprecated --xdoc-force-dynamic and --allow-xdoc-dynamic flags\u003c/li\u003e\n\u003cli\u003eImproved speed (~6x) of doctest collection when running in pytest\u003c/li\u003e\n\u003cli\u003eUses pytest plugin system to disable stdlib doctest instead of monkey patching.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed incorrect return type in docstrings\u003c/li\u003e\n\u003cli\u003eThe doctest parser no longer expand tabs to spaces\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart branch for dev/1.2.1\nby \u003ca href=\"https://github.com/Erotemic\"\u003e\u003ccode\u003e@​Erotemic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/162\"\u003eErotemic/xdoctest#162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDev Branch: 1.2.1  by \u003ca href=\"https://github.com/Erotemic\"\u003e\u003ccode\u003e@​Erotemic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/163\"\u003eErotemic/xdoctest#163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable 313 in CI by \u003ca href=\"https://github.com/Erotemic\"\u003e\u003ccode\u003e@​Erotemic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/165\"\u003eErotemic/xdoctest#165\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDev/1.2.1 by \u003ca href=\"https://github.com/Erotemic\"\u003e\u003ccode\u003e@​Erotemic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/166\"\u003eErotemic/xdoctest#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estatic_parse update by \u003ca href=\"https://github.com/lczyk\"\u003e\u003ccode\u003e@​lczyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/168\"\u003eErotemic/xdoctest#168\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDev/1.2.1 by \u003ca href=\"https://github.com/Erotemic\"\u003e\u003ccode\u003e@​Erotemic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/170\"\u003eErotemic/xdoctest#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: dont expand tabs to spaces by \u003ca href=\"https://github.com/Erotemic\"\u003e\u003ccode\u003e@​Erotemic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/172\"\u003eErotemic/xdoctest#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable \u003ccode\u003e_pytest.doctest\u003c/code\u003e via the plugin system by \u003ca href=\"https://github.com/TTsangSC\"\u003e\u003ccode\u003e@​TTsangSC\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/174\"\u003eErotemic/xdoctest#174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove async support with a new directive by \u003ca href=\"https://github.com/x42005e1f\"\u003e\u003ccode\u003e@​x42005e1f\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/176\"\u003eErotemic/xdoctest#176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDev/1.3.0 by \u003ca href=\"https://github.com/Erotemic\"\u003e\u003ccode\u003e@​Erotemic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/177\"\u003eErotemic/xdoctest#177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003easyncio.Runner\u003c/code\u003e on Python\u0026gt;=3.11 by \u003ca href=\"https://github.com/x42005e1f\"\u003e\u003ccode\u003e@​x42005e1f\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/178\"\u003eErotemic/xdoctest#178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate documentation according to the latest changes by \u003ca href=\"https://github.com/x42005e1f\"\u003e\u003ccode\u003e@​x42005e1f\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/179\"\u003eErotemic/xdoctest#179\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/lczyk\"\u003e\u003ccode\u003e@​lczyk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/168\"\u003eErotemic/xdoctest#168\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TTsangSC\"\u003e\u003ccode\u003e@​TTsangSC\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/174\"\u003eErotemic/xdoctest#174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x42005e1f\"\u003e\u003ccode\u003e@​x42005e1f\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/176\"\u003eErotemic/xdoctest#176\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Erotemic/xdoctest/compare/v1.2.0...refs/heads/release\"\u003ehttps://github.com/Erotemic/xdoctest/compare/v1.2.0...refs/heads/release\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/Erotemic/xdoctest/blob/main/CHANGELOG.md\"\u003exdoctest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.3.0 - Unreleased\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew \u003ccode\u003eASYNC\u003c/code\u003e basic directive to hold the asyncio event loop in any section of\ncode. Useful for multitasking tests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003e16806_WORKAROUND\u003c/code\u003e as it is not longer needed for Python 3.8+\u003c/li\u003e\n\u003cli\u003eRemoved deprecated --xdoc-force-dynamic and --allow-xdoc-dynamic flags\u003c/li\u003e\n\u003cli\u003eImproved speed (~6x) of doctest collection when running in pytest\u003c/li\u003e\n\u003cli\u003eUses pytest plugin system to disable stdlib doctest instead of monkey patching.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed incorrect return type in docstrings\u003c/li\u003e\n\u003cli\u003eThe doctest parser no longer expand tabs to spaces\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/fac830885b9e9a1ca26a374d63036a9f25cc2066\"\u003e\u003ccode\u003efac8308\u003c/code\u003e\u003c/a\u003e Update documentation according to the latest changes (\u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/issues/179\"\u003e#179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/f19a808717a4f3c9ebb53f5f2102b6f46fed52e6\"\u003e\u003ccode\u003ef19a808\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003easyncio.Runner\u003c/code\u003e on Python\u0026gt;=3.11 (\u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/issues/178\"\u003e#178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/2646c4bb2c8d4880cde4503c5b46b784fc9e01de\"\u003e\u003ccode\u003e2646c4b\u003c/code\u003e\u003c/a\u003e Dev/1.3.0 (\u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/issues/177\"\u003e#177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/9f633b1aae52bc1c0827a140c01dffc586694bc1\"\u003e\u003ccode\u003e9f633b1\u003c/code\u003e\u003c/a\u003e Improve async support with a new directive (\u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/issues/176\"\u003e#176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/e029e414ba6fe85fbee9298e4721dc0590fc342d\"\u003e\u003ccode\u003ee029e41\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/issues/174\"\u003e#174\u003c/a\u003e from TTsangSC/reversibly-disable-doctest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/b1435256a1475ddccb2184da9c564a20bccb6776\"\u003e\u003ccode\u003eb143525\u003c/code\u003e\u003c/a\u003e Add changelog note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/be66ffac0419bdcae54e703042ef67304af2b744\"\u003e\u003ccode\u003ebe66ffa\u003c/code\u003e\u003c/a\u003e Remove unused imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/d3dd93a8e56e55e62ec4617d02acce3e20f5be67\"\u003e\u003ccode\u003ed3dd93a\u003c/code\u003e\u003c/a\u003e Backward compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/a6f4f4d3db890d2827ec2252867014ced6150b64\"\u003e\u003ccode\u003ea6f4f4d\u003c/code\u003e\u003c/a\u003e Fixed corresponding tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/b018ce70917616681376e5f2bfa5f362cf5820b5\"\u003e\u003ccode\u003eb018ce7\u003c/code\u003e\u003c/a\u003e Fixes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Erotemic/xdoctest/compare/v1.2.0...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.10.0 to 4.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/anyio/releases\"\u003eanyio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for cancellation reasons (the \u003ccode\u003ereason\u003c/code\u003e parameter to \u003ccode\u003eCancelScope.cancel()\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBumped the minimum version of Trio to v0.31.0\u003c/li\u003e\n\u003cli\u003eAdded the ability to enter the event loop from foreign (non-worker) threads by passing the return value of \u003ccode\u003eanyio.lowlevel.current_token()\u003c/code\u003e to \u003ccode\u003eanyio.from_thread.run()\u003c/code\u003e and \u003ccode\u003eanyio.from_thread.run_sync()\u003c/code\u003e as the \u003ccode\u003etoken\u003c/code\u003e keyword argument (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/256\"\u003e#256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded pytest option (\u003ccode\u003eanyio_mode = \u0026quot;auto\u0026quot;\u003c/code\u003e) to make the pytest plugin automatically handle all async tests (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the \u003ccode\u003eanyio.Condition.wait_for()\u003c/code\u003e method for feature parity with asyncio (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged the default type argument of \u003ccode\u003eanyio.abc.TaskStatus\u003c/code\u003e from \u003ccode\u003eAny\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/964\"\u003e#964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed TCP listener behavior to guarantee the same ephemeral port is used for all socket listeners when \u003ccode\u003elocal_port=0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/857\"\u003e#857\u003c/a\u003e; PR by \u003ca href=\"https://github.com/11kkw\"\u003e\u003ccode\u003e@​11kkw\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/agronholm\"\u003e\u003ccode\u003e@​agronholm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed inconsistency between Trio and asyncio where a TCP stream that previously raised a \u003ccode\u003eBrokenResourceError\u003c/code\u003e on \u003ccode\u003esend()\u003c/code\u003e would still raise \u003ccode\u003eBrokenResourceError\u003c/code\u003e after the stream was closed on asyncio, but \u003ccode\u003eClosedResourceError\u003c/code\u003e on Trio. They now both raise a \u003ccode\u003eClosedResourceError\u003c/code\u003e in this scenario. (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst\"\u003eanyio's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion history\u003c/h1\u003e\n\u003cp\u003eThis library adheres to \u003ccode\u003eSemantic Versioning 2.0 \u0026lt;http://semver.org/\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e4.11.0\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for cancellation reasons (the \u003ccode\u003ereason\u003c/code\u003e parameter to\n\u003ccode\u003eCancelScope.cancel()\u003c/code\u003e)\n(\u003ccode\u003e[#975](https://github.com/agronholm/anyio/issues/975) \u0026lt;https://github.com/agronholm/anyio/pull/975\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eBumped the minimum version of Trio to v0.31.0\u003c/li\u003e\n\u003cli\u003eAdded the ability to enter the event loop from foreign (non-worker) threads by\npassing the return value of \u003ccode\u003eanyio.lowlevel.current_token()\u003c/code\u003e to\n\u003ccode\u003eanyio.from_thread.run()\u003c/code\u003e and \u003ccode\u003eanyio.from_thread.run_sync()\u003c/code\u003e as the \u003ccode\u003etoken\u003c/code\u003e\nkeyword argument (\u003ccode\u003e[#256](https://github.com/agronholm/anyio/issues/256) \u0026lt;https://github.com/agronholm/anyio/issues/256\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdded pytest option (\u003ccode\u003eanyio_mode = \u0026quot;auto\u0026quot;\u003c/code\u003e) to make the pytest plugin automatically\nhandle all async tests\n(\u003ccode\u003e[#971](https://github.com/agronholm/anyio/issues/971) \u0026lt;https://github.com/agronholm/anyio/pull/971\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdded the \u003ccode\u003eanyio.Condition.wait_for()\u003c/code\u003e method for feature parity with asyncio\n(\u003ccode\u003e[#974](https://github.com/agronholm/anyio/issues/974) \u0026lt;https://github.com/agronholm/anyio/pull/974\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eChanged the default type argument of \u003ccode\u003eanyio.abc.TaskStatus\u003c/code\u003e from \u003ccode\u003eAny\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e\n(\u003ccode\u003e[#964](https://github.com/agronholm/anyio/issues/964) \u0026lt;https://github.com/agronholm/anyio/pull/964\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFixed TCP listener behavior to guarantee the same ephemeral port is used for all\nsocket listeners when \u003ccode\u003elocal_port=0\u003c/code\u003e\n(\u003ccode\u003e[#857](https://github.com/agronholm/anyio/issues/857) \u0026lt;https://github.com/agronholm/anyio/issues/857\u0026gt;\u003c/code\u003e_; PR by \u003ca href=\"https://github.com/11kkw\"\u003e\u003ccode\u003e@​11kkw\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/agronholm\"\u003e\u003ccode\u003e@​agronholm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed inconsistency between Trio and asyncio where a TCP stream that previously\nraised a \u003ccode\u003eBrokenResourceError\u003c/code\u003e on \u003ccode\u003esend()\u003c/code\u003e would still raise\n\u003ccode\u003eBrokenResourceError\u003c/code\u003e after the stream was closed on asyncio, but\n\u003ccode\u003eClosedResourceError\u003c/code\u003e on Trio. They now both raise a \u003ccode\u003eClosedResourceError\u003c/code\u003e in this\nscenario. (\u003ccode\u003e[#671](https://github.com/agronholm/anyio/issues/671) \u0026lt;https://github.com/agronholm/anyio/issues/671\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e4.10.0\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003efeed_data()\u003c/code\u003e method to the \u003ccode\u003eBufferedByteReceiveStream\u003c/code\u003e class, allowing\nusers to inject data directly into the buffer\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded various class methods to wrap existing sockets as listeners or socket streams:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSocketListener.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSocketStream.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eUNIXSocketStream.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eUDPSocket.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnectedUDPSocket.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eUNIXDatagramSocket.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnectedUNIXDatagramSocket.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded a hierarchy of connectable stream classes for transparently connecting to\nvarious remote or local endpoints for exchanging bytes or objects\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded context manager mix-in classes (\u003ccode\u003eanyio.ContextManagerMixin\u003c/code\u003e and\n\u003ccode\u003eanyio.AsyncContextManagerMixin\u003c/code\u003e) to help write classes that embed other context\nmanagers, particularly cancel scopes or task groups\n(\u003ccode\u003e[#905](https://github.com/agronholm/anyio/issues/905) \u0026lt;https://github.com/agronholm/anyio/pull/905\u0026gt;\u003c/code\u003e_; PR by \u003ca href=\"https://github.com/agronholm\"\u003e\u003ccode\u003e@​agronholm\u003c/code\u003e\u003c/a\u003e and\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/08737af202f6610cdb8ba53fecaefd9c03269637\"\u003e\u003ccode\u003e08737af\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/8bb9fe04a1c0a4b6615c843d4a88bba38a386059\"\u003e\u003ccode\u003e8bb9fe0\u003c/code\u003e\u003c/a\u003e Fixed the inconsistent exception on sending to a closed TCP stream (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/980\"\u003e#980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/963709358a05ced66986e928b593b4bd82422981\"\u003e\u003ccode\u003e9637093\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/f1bc6ee95a75007681ef9cb4eec0369838b390e9\"\u003e\u003ccode\u003ef1bc6ee\u003c/code\u003e\u003c/a\u003e Fixed changelog entry formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/0b58964a26c68ca427b711bbe8536f61ed900133\"\u003e\u003ccode\u003e0b58964\u003c/code\u003e\u003c/a\u003e Mentioned the sub-interpreter support in the README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/1ed112c65628d3cce312e7b6875b9f914d174a71\"\u003e\u003ccode\u003e1ed112c\u003c/code\u003e\u003c/a\u003e Ensure same port is used for IPv4/IPv6 when creating TCP listener with local_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/aceeee09868642311a96626924f2f09c088a26c0\"\u003e\u003ccode\u003eaceeee0\u003c/code\u003e\u003c/a\u003e Re-enabled coverage reporting on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/6b890dc869f54b6237caff52a74e86382c076ad2\"\u003e\u003ccode\u003e6b890dc\u003c/code\u003e\u003c/a\u003e Reworded a changelog entry and added PR links to others\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/944257d2d59e8057dd00cd5cc96d8f73028031dd\"\u003e\u003ccode\u003e944257d\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/087975f44599471a84bea2077731143a346c276a\"\u003e\u003ccode\u003e087975f\u003c/code\u003e\u003c/a\u003e Fixed a documentation style (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/976\"\u003e#976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.10.0...4.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beautifulsoup4` from 4.13.4 to 4.14.2\n\nUpdates `cffi` from 1.17.1 to 2.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-cffi/cffi/releases\"\u003ecffi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 3.14 support.\u003c/li\u003e\n\u003cli\u003eAdd CPython free-threaded support (3.14t+ only) - huge thanks to the folks at Quansight Labs for all the work to get this one sorted!\u003c/li\u003e\n\u003cli\u003eDrop Python \u0026lt;= 3.8 support.\u003c/li\u003e\n\u003cli\u003eFix order dependency affecting nested type size calculation (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/148\"\u003e#148\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0\"\u003ehttps://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.0b1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 3.14 support.\u003c/li\u003e\n\u003cli\u003eAdd CPython free-threaded support (3.14t+ only).\u003c/li\u003e\n\u003cli\u003eDrop Python \u0026lt;= 3.8 support.\u003c/li\u003e\n\u003cli\u003eFix order dependency affecting nested type size calculation (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/148\"\u003e#148\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0b1\"\u003ehttps://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0b1\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/python-cffi/cffi/commit/6366c01d84e9a78e7e85f12ebe9760ba5d19b6d3\"\u003e\u003ccode\u003e6366c01\u003c/code\u003e\u003c/a\u003e release 2.0.0 (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/196\"\u003e#196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/95c847663aec401e4003927a274e4de9b8595f4f\"\u003e\u003ccode\u003e95c8476\u003c/code\u003e\u003c/a\u003e 2.0.0 post beta backports (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/195\"\u003e#195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/195cbda66b6be9297ef6d584644e50cfdcca4e8a\"\u003e\u003ccode\u003e195cbda\u003c/code\u003e\u003c/a\u003e Release 2.0.0b1 (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/183\"\u003e#183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/b4bbe7940d3f76027534db1aecbae9b61c35221a\"\u003e\u003ccode\u003eb4bbe79\u003c/code\u003e\u003c/a\u003e fix version test to support beta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/7ed073de66e713cf791b6fdfa23685c81fdfd6ad\"\u003e\u003ccode\u003e7ed073d\u003c/code\u003e\u003c/a\u003e Add support for the free-threaded build (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/178\"\u003e#178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/67a170dc7972dc9361743690b38da3d963b200ef\"\u003e\u003ccode\u003e67a170d\u003c/code\u003e\u003c/a\u003e Change the license from MIT to MIT-no-attribution, which is the same without ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/92645ec9329feb03e3fa86240b40fe0fc37469d1\"\u003e\u003ccode\u003e92645ec\u003c/code\u003e\u003c/a\u003e Add Python 3.14 support/testing (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/177\"\u003e#177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/2b81170583a898478a6996c9705d8c38ab7f73a1\"\u003e\u003ccode\u003e2b81170\u003c/code\u003e\u003c/a\u003e doc: update test commands in Section Testing/development tips (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/158\"\u003e#158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/25172b84cf51cf58241f074ccd1efd9c7648cb43\"\u003e\u003ccode\u003e25172b8\u003c/code\u003e\u003c/a\u003e doc: update year (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/153\"\u003e#153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/b57a92c03eb2078a99c900519a37d18b4d52324f\"\u003e\u003ccode\u003eb57a92c\u003c/code\u003e\u003c/a\u003e issue 147: for...\n\n_Description has been truncated_","html_url":"https://github.com/statisticsnorway/ssb-dash-framework/pull/188","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/statisticsnorway%2Fssb-dash-framework/issues/188","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/188/packages"},{"uuid":"2849494137","node_id":"PR_kwDOMVNcD86p19R5","number":211,"state":"closed","title":"Bump the all-dependencies group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-06T13:19:56.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-22T13:17:22.000Z","updated_at":"2025-10-06T13:19:56.000Z","time_to_close":1209754,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all-dependencies","update_count":13,"packages":[{"name":"cvss","old_version":"3.4","new_version":"3.6","repository_url":"https://github.com/RedHatProductSecurity/cvss"},{"name":"gcsfs","old_version":"2025.5.1","new_version":"2025.9.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"fsspec","old_version":"2025.5.1","new_version":"2025.9.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"robotframework","old_version":"7.2.2","new_version":"7.3.2","repository_url":"https://github.com/robotframework/robotframework"},{"name":"sqlfluff","old_version":"3.4.0","new_version":"3.4.2","repository_url":"https://github.com/sqlfluff/sqlfluff"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [pandas](https://github.com/pandas-dev/pandas), [requests](https://github.com/psf/requests), [cvss](https://github.com/RedHatProductSecurity/cvss), [gitpython](https://github.com/gitpython-developers/GitPython), [fastapi[standard]](https://github.com/fastapi/fastapi), [gcsfs](https://github.com/fsspec/gcsfs), [fsspec](https://github.com/fsspec/filesystem_spec), [black](https://github.com/psf/black), [flake8](https://github.com/pycqa/flake8), [pytest](https://github.com/pytest-dev/pytest), [robotframework](https://github.com/robotframework/robotframework), [sqlfluff](https://github.com/sqlfluff/sqlfluff) and [mypy](https://github.com/python/mypy) to permit the latest version.\nUpdates `pandas` to 2.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePandas 2.3.2\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.2.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.2.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.2 supports Python 3.9 and higher.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install --upgrade pandas\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\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/pandas-dev/pandas/commit/4665c10899bc413b639194f6fb8665a5c70f7db5\"\u003e\u003ccode\u003e4665c10\u003c/code\u003e\u003c/a\u003e RLS: 2.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/633c68b91808441eba7d73b630a82b713ba19da8\"\u003e\u003ccode\u003e633c68b\u003c/code\u003e\u003c/a\u003e DOC: fix syntax in whatsnew file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/456ad4702cb017aab36e2d09a4029b1b085198f5\"\u003e\u003ccode\u003e456ad47\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62152\"\u003e#62152\u003c/a\u003e on branch 2.3.x (DOC: prepare 2.3.2 whatsnew notes for rel...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/6cae6444444ed7943ceffbd5990cd8249dd5b47c\"\u003e\u003ccode\u003e6cae644\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] DOC: move and reword whatsnew note for replace fix (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/57865\"\u003eGH-57865\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/a91c50a58c372cddf104fd60241c7284bbf8fc80\"\u003e\u003ccode\u003ea91c50a\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62147\"\u003e#62147\u003c/a\u003e on branch 2.3.x (DOC: correct and rewrite string migration...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/f7a2cfdf2ed08016167ae6c5e577c54949a849b2\"\u003e\u003ccode\u003ef7a2cfd\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG/DEPR: logical operation with bool and string (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/61995\"\u003e#61995\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/7981a43db4339826a3ce5020e9b1b931e604e5bd\"\u003e\u003ccode\u003e7981a43\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62124\"\u003e#62124\u003c/a\u003e on branch 2.3.x (CI/BLD: don't use strict xfail for '%m.%Y...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/fafbcbd03d1721830f4df8255abdab341db2a583\"\u003e\u003ccode\u003efafbcbd\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG(CoW): also raise for chained assignment for .at / .iat (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/3ac64a714886d917ca24ba637a85c4aaf563fc1b\"\u003e\u003ccode\u003e3ac64a7\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: Fix Series.str.contains with compiled regex on Arrow st...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/1f2dc4fd8a2503773b6f90cb5e8cc5c3172c3c11\"\u003e\u003ccode\u003e1f2dc4f\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: fix Series.str.fullmatch() and Series.str.match() with ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v2.3.0...v2.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.3 (2024-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug breaking the ability to specify custom SSLContexts in sub-classes of\nHTTPAdapter. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6716\"\u003e#6716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue where Requests started failing to run on Python versions compiled\nwithout the \u003ccode\u003essl\u003c/code\u003e module. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6724\"\u003e#6724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.2 (2024-05-21)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eTo provide a more stable migration for custom HTTPAdapters impacted\nby the CVE changes in 2.32.0, we've renamed \u003ccode\u003e_get_connection\u003c/code\u003e to\na new public API, \u003ccode\u003eget_connection_with_tls_context\u003c/code\u003e. Existing custom\nHTTPAdapters will need to migrate their code to use this new API.\n\u003ccode\u003eget_connection\u003c/code\u003e is considered deprecated in all versions of Requests\u0026gt;=2.32.0.\u003c/p\u003e\n\u003cp\u003eA minimal (2-line) example has been provided in the linked PR to ease\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cvss` from 3.4 to 3.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/RedHatProductSecurity/cvss/releases\"\u003ecvss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v3.6\u003c/h2\u003e\n\u003cp\u003eFix incorrect release in PyPI\u003c/p\u003e\n\u003ch2\u003eRelease v3.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved Python 2.7 support (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/79\"\u003e#79\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded CVSS4 support to parse_cvss_from_text (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/75\"\u003e#75\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CVSS4 clean vector field ordering (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/72\"\u003e#72\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved documentation for broader audience (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/81\"\u003e#81\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplified interface documentation (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/73\"\u003e#73\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/RedHatProductSecurity/cvss/commit/2f149099257ae06b98cef252efc440bddafe61e5\"\u003e\u003ccode\u003e2f14909\u003c/code\u003e\u003c/a\u003e Version 3.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RedHatProductSecurity/cvss/commit/344f7327fb65b7f92b274a8e3687898d8c2b473f\"\u003e\u003ccode\u003e344f732\u003c/code\u003e\u003c/a\u003e Set version to 3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RedHatProductSecurity/cvss/commit/1232b5e455e6629eab0c8b6dd56c78e9ee88a46a\"\u003e\u003ccode\u003e1232b5e\u003c/code\u003e\u003c/a\u003e doc: Improve understanding for a broader audience (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/81\"\u003e#81\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RedHatProductSecurity/cvss/commit/14678c08c9d94df838cff3f51af89027079fdc86\"\u003e\u003ccode\u003e14678c0\u003c/code\u003e\u003c/a\u003e Fix line lengths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RedHatProductSecurity/cvss/commit/0874b07fa21e6dc8fbef25fc786e531ae42f4dc8\"\u003e\u003ccode\u003e0874b07\u003c/code\u003e\u003c/a\u003e Remove Python 2.7 support (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/79\"\u003e#79\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RedHatProductSecurity/cvss/commit/9fc12841ca3fb6ab5ea3dc6f22a5936cd75e03fa\"\u003e\u003ccode\u003e9fc1284\u003c/code\u003e\u003c/a\u003e fix: add CVSS4 support to parse_cvss_from_text (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/75\"\u003e#75\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RedHatProductSecurity/cvss/commit/756d2dbd1ecaf79554f1f1f794132e87555cc9d9\"\u003e\u003ccode\u003e756d2db\u003c/code\u003e\u003c/a\u003e Keep use of interfaces in readme simple and CVSS version agnostic. (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/73\"\u003e#73\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RedHatProductSecurity/cvss/commit/5f53333e42b3743e3cafcf1705ca46e40bdd70cb\"\u003e\u003ccode\u003e5f53333\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/72\"\u003e#72\u003c/a\u003e from Urth/fix/clean-vector-field-order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RedHatProductSecurity/cvss/commit/ae6d3f8370f8569b41cafaef22b4d4eff5b8b4cc\"\u003e\u003ccode\u003eae6d3f8\u003c/code\u003e\u003c/a\u003e Fix CVSS4 clean vector field ordering\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RedHatProductSecurity/cvss/compare/v3.4...v3.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gitpython` to 3.1.45\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gitpython-developers/GitPython/releases\"\u003egitpython's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.45\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix various version-related CI breakages by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/1987\"\u003egitpython-developers/GitPython#1987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo some CI cleanup to make reports clearer and future changes easier by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/1989\"\u003egitpython-developers/GitPython#1989\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAffirm that gitdb and smmap advisories can also be created by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/1991\"\u003egitpython-developers/GitPython#1991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix links to gitdb and smmap \u003ccode\u003eSECURITY.md\u003c/code\u003e files by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/1992\"\u003egitpython-developers/GitPython#1992\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest Python 3.13 regularly on Ubuntu and macOS on CI by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/1990\"\u003egitpython-developers/GitPython#1990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRepo.rev_parse: Handle \u003c!-- raw HTML omitted --\u003e^{commit} correctly by \u003ca href=\"https://github.com/flichtenheld\"\u003e\u003ccode\u003e@​flichtenheld\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/1996\"\u003egitpython-developers/GitPython#1996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFuzzing: Fix Broken Fuzz Test for Git Submodule Handling by \u003ca href=\"https://github.com/DaveLak\"\u003e\u003ccode\u003e@​DaveLak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/1997\"\u003egitpython-developers/GitPython#1997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWork around Cygwin CI failure \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/issues/2004\"\u003e#2004\u003c/a\u003e, except for \u003ccode\u003etest_installation\u003c/code\u003e by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2007\"\u003egitpython-developers/GitPython#2007\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark \u003ccode\u003etest_installation\u003c/code\u003e xfail on Cygwin CI by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2009\"\u003egitpython-developers/GitPython#2009\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eIndexFile._to_relative_path\u003c/code\u003e - fix case where absolute path gets stripped of trailing slash by \u003ca href=\"https://github.com/kamilkozik7\"\u003e\u003ccode\u003e@​kamilkozik7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2012\"\u003egitpython-developers/GitPython#2012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse WSL1 on CI by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2010\"\u003egitpython-developers/GitPython#2010\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest free-threaded Python (but only on Linux) by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2011\"\u003egitpython-developers/GitPython#2011\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse property decorator to support typing by \u003ca href=\"https://github.com/Andrej730\"\u003e\u003ccode\u003e@​Andrej730\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2015\"\u003egitpython-developers/GitPython#2015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix some incorrect sphinx markups in the docstrings by \u003ca href=\"https://github.com/koyuki7w\"\u003e\u003ccode\u003e@​koyuki7w\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2018\"\u003egitpython-developers/GitPython#2018\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereplace quansight-labs/setup-python with actions/setup-python by \u003ca href=\"https://github.com/ngoldbaum\"\u003e\u003ccode\u003e@​ngoldbaum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2019\"\u003egitpython-developers/GitPython#2019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove type assertions from util.py by \u003ca href=\"https://github.com/gcmarx\"\u003e\u003ccode\u003e@​gcmarx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2028\"\u003egitpython-developers/GitPython#2028\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecorrectly handle \u003ccode\u003euname-cmd\u003c/code\u003e that doesn't point to an executable file by \u003ca href=\"https://github.com/gcmarx\"\u003e\u003ccode\u003e@​gcmarx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2026\"\u003egitpython-developers/GitPython#2026\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse newer ruff style by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2031\"\u003egitpython-developers/GitPython#2031\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHave CodeQL scan GitHub Actions workflows as well as Python code by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2032\"\u003egitpython-developers/GitPython#2032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpecify explicit \u003ccode\u003econtents: read\u003c/code\u003e workflow permissions by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2033\"\u003egitpython-developers/GitPython#2033\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix GitConfigParser not removing quotes from values by \u003ca href=\"https://github.com/betaboon\"\u003e\u003ccode\u003e@​betaboon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2035\"\u003egitpython-developers/GitPython#2035\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve quoted leading and trailing single-line config var whitespace by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2036\"\u003egitpython-developers/GitPython#2036\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor Git.{AutoInterrupt,CatFileContentStream} nesting by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2037\"\u003egitpython-developers/GitPython#2037\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Git.{AutoInterrupt,CatFileContentStream} static typing by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2039\"\u003egitpython-developers/GitPython#2039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI \u003ccode\u003emypy\u003c/code\u003e command on free-threaded Python by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2040\"\u003egitpython-developers/GitPython#2040\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSplit Cygwin CI into non-\u003ccode\u003eperformance\u003c/code\u003e and \u003ccode\u003eperformance\u003c/code\u003e test jobs by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2042\"\u003egitpython-developers/GitPython#2042\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpress conditional \u003ccode\u003esetuptools\u003c/code\u003e requirement statically by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2043\"\u003egitpython-developers/GitPython#2043\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ambiguous \u003ccode\u003e_safer_popen_windows\u003c/code\u003e comment by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2044\"\u003egitpython-developers/GitPython#2044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify \u003ccode\u003eUSE_SHELL\u003c/code\u003e warning helper signature by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2045\"\u003egitpython-developers/GitPython#2045\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest \u003ccode\u003eConfigParser\u003c/code\u003e with whitespace outside the value by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2046\"\u003egitpython-developers/GitPython#2046\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove explicit empty \u003ccode\u003e\u0026quot;\u0026quot;\u003c/code\u003e handling in ConfigParser by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2047\"\u003egitpython-developers/GitPython#2047\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVarious style improvements by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2049\"\u003egitpython-developers/GitPython#2049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't remove quotes if \u003ccode\u003e\\\u003c/code\u003e or \u003ccode\u003e\u0026quot;\u003c/code\u003e are present inside by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2048\"\u003egitpython-developers/GitPython#2048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix updating submodules with relative urls by \u003ca href=\"https://github.com/david0\"\u003e\u003ccode\u003e@​david0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2051\"\u003egitpython-developers/GitPython#2051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRun \u003ccode\u003ecat_file.py\u003c/code\u003e fixture without site customizations by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2052\"\u003egitpython-developers/GitPython#2052\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Cygwin installation on CI for \u003ccode\u003epip\u003c/code\u003e by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2053\"\u003egitpython-developers/GitPython#2053\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFail \u003ccode\u003etest_installation\u003c/code\u003e on warnings, and remove deprecated license classifier by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2054\"\u003egitpython-developers/GitPython#2054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd clearer error version for unsupported index error by \u003ca href=\"https://github.com/tombedor\"\u003e\u003ccode\u003e@​tombedor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2055\"\u003egitpython-developers/GitPython#2055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix name collision by \u003ca href=\"https://github.com/NMertsch\"\u003e\u003ccode\u003e@​NMertsch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2060\"\u003egitpython-developers/GitPython#2060\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow relative path url in submodules for submodule_update by \u003ca href=\"https://github.com/t-webber\"\u003e\u003ccode\u003e@​t-webber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2062\"\u003egitpython-developers/GitPython#2062\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/flichtenheld\"\u003e\u003ccode\u003e@​flichtenheld\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/1996\"\u003egitpython-developers/GitPython#1996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kamilkozik7\"\u003e\u003ccode\u003e@​kamilkozik7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2012\"\u003egitpython-developers/GitPython#2012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koyuki7w\"\u003e\u003ccode\u003e@​koyuki7w\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2018\"\u003egitpython-developers/GitPython#2018\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ngoldbaum\"\u003e\u003ccode\u003e@​ngoldbaum\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2019\"\u003egitpython-developers/GitPython#2019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gcmarx\"\u003e\u003ccode\u003e@​gcmarx\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2028\"\u003egitpython-developers/GitPython#2028\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/betaboon\"\u003e\u003ccode\u003e@​betaboon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2035\"\u003egitpython-developers/GitPython#2035\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/gitpython-developers/GitPython/commit/6ba2c0a2f9ee7feffd7e079621c4845820180c9a\"\u003e\u003ccode\u003e6ba2c0a\u003c/code\u003e\u003c/a\u003e Prepare a new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/bbb3d00ac431dc7966f9715fb813792d234eca81\"\u003e\u003ccode\u003ebbb3d00\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/issues/2062\"\u003e#2062\u003c/a\u003e from t-webber/relative_path_submodules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/1ee1e781929074afd66bff1eae007bbee41d117e\"\u003e\u003ccode\u003e1ee1e78\u003c/code\u003e\u003c/a\u003e Add test case for cloning submodules with relative path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/ec2e2c8b894512e7a2364774d77cdd9db73f0566\"\u003e\u003ccode\u003eec2e2c8\u003c/code\u003e\u003c/a\u003e Allow relative path url in submodules for submodule_update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/4d529b71905edae12e4699170f7d9e0a665801b5\"\u003e\u003ccode\u003e4d529b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/issues/2060\"\u003e#2060\u003c/a\u003e from NMertsch/2023-fix-gitconfigparser-autodoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/80fd2c16211738156e65258381a17cdc429ddd08\"\u003e\u003ccode\u003e80fd2c1\u003c/code\u003e\u003c/a\u003e Don't treat sphinx warnings as errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/a4aadb0c04bd13af824c14dcc39f88345aa5c440\"\u003e\u003ccode\u003ea4aadb0\u003c/code\u003e\u003c/a\u003e Fix name collision\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/4c7778a93134364cfff7b1597f9eda00a88323af\"\u003e\u003ccode\u003e4c7778a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/issues/2057\"\u003e#2057\u003c/a\u003e from gitpython-developers/dependabot/github_actions/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/5033c3ffd8917d835658c22e84bd86103a2ae52d\"\u003e\u003ccode\u003e5033c3f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/issues/2056\"\u003e#2056\u003c/a\u003e from gitpython-developers/dependabot/github_actions/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/496392b9bf781904421cbd171c0c5395a6fe330c\"\u003e\u003ccode\u003e496392b\u003c/code\u003e\u003c/a\u003e Bump cygwin/cygwin-install-action from 5 to 6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gitpython-developers/GitPython/compare/3.1.44...3.1.45\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi[standard]` to 0.117.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi[standard]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.117.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix validation error when \u003ccode\u003eFile\u003c/code\u003e is declared after \u003ccode\u003eForm\u003c/code\u003e parameter. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/11194\"\u003e#11194\u003c/a\u003e by \u003ca href=\"https://github.com/thomasleveil\"\u003e\u003ccode\u003e@​thomasleveil\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/784f06cb9b7cc63f6a0cb2bc9cf238473eef93e2\"\u003e\u003ccode\u003e784f06c\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.117.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b5c05893b4c43c93ff94761270ea750c0bd9e30e\"\u003e\u003ccode\u003eb5c0589\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/44fc67632bcdae4d078cb11b1a319ac122cbb06f\"\u003e\u003ccode\u003e44fc676\u003c/code\u003e\u003c/a\u003e 🐛 Fix validation error when \u003ccode\u003eFile\u003c/code\u003e is declared after \u003ccode\u003eForm\u003c/code\u003e parameter (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/11194\"\u003e#11194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/a84001000e59ff362e74f93b8d9a58a4309dac2d\"\u003e\u003ccode\u003ea840010\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/382d083e26a28e95c731e85345c85c6dc99b08b4\"\u003e\u003ccode\u003e382d083\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.117.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/a7f2dbe976bf72703376f0cd04487bfc4a849f83\"\u003e\u003ccode\u003ea7f2dbe\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/f1e6f978ce10a6f9b4c668350a79462e9ac330a8\"\u003e\u003ccode\u003ef1e6f97\u003c/code\u003e\u003c/a\u003e ⚡️ Fix \u003ccode\u003edefault_factory\u003c/code\u003e for response model field with Pydantic V1 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/9704\"\u003e#9704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b01d5c97a09b8f4f95b9e9b0d6bc083a23cdea20\"\u003e\u003ccode\u003eb01d5c9\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b51ec36f2e442495de5e4c22ae51a8f5c44917eb\"\u003e\u003ccode\u003eb51ec36\u003c/code\u003e\u003c/a\u003e ✨  Allow \u003ccode\u003eNone\u003c/code\u003e as return type for bodiless responses (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/9425\"\u003e#9425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/0bdc3ca3732e3742e094bea2b320e9774659ac38\"\u003e\u003ccode\u003e0bdc3ca\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.115.12...0.117.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gcsfs` from 2025.5.1 to 2025.9.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/0b0e077e7a84640ff5ed6c8807026b9e5512d65a\"\u003e\u003ccode\u003e0b0e077\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/64e232c2ee976464ecf9e391cfd592e849d7ffa0\"\u003e\u003ccode\u003e64e232c\u003c/code\u003e\u003c/a\u003e Fix iterating over every entry (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/697\"\u003e#697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/d97099ab40138745569fff98a098defcd7693270\"\u003e\u003ccode\u003ed97099a\u003c/code\u003e\u003c/a\u003e Ensure right error type for get() on nonexistent (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/54e8faa3c6b620f99e232a803d2a86b717c1e6e4\"\u003e\u003ccode\u003e54e8faa\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/40882ce5fc55b941bf566d80f1fc79f7366ccd70\"\u003e\u003ccode\u003e40882ce\u003c/code\u003e\u003c/a\u003e add support message (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/7872bd7a931fb4285d5762ff5d861b8653fc7b70\"\u003e\u003ccode\u003e7872bd7\u003c/code\u003e\u003c/a\u003e remove addcidental inclusion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/55cb49862eaebbe4e6e99455f1eb4079705f66d9\"\u003e\u003ccode\u003e55cb498\u003c/code\u003e\u003c/a\u003e less refresh in ci (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.5.1...2025.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fsspec` from 2025.5.1 to 2025.9.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/f84b99f0d1f079f990db1a219b74df66ab3e7160\"\u003e\u003ccode\u003ef84b99f\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1912\"\u003e#1912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/4e5f7686874953e9130891feb2fac69277ab4ad1\"\u003e\u003ccode\u003e4e5f768\u003c/code\u003e\u003c/a\u003e Feature, Add a lookup of Last-Modified in http file headers (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1909\"\u003e#1909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/cf798ec684e0583906dda1ae6ff40de620c01eca\"\u003e\u003ccode\u003ecf798ec\u003c/code\u003e\u003c/a\u003e Add semaphore to AsyncFileSystemWrapper (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1908\"\u003e#1908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/c46db870f828f7f1318ed7a3dc26ecc8b48b3880\"\u003e\u003ccode\u003ec46db87\u003c/code\u003e\u003c/a\u003e Ensure cached filesystems' \u003ccode\u003eprotocol\u003c/code\u003e is preserved (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1897\"\u003e#1897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/d0b1729a522ff9a47bd465bdbe430cdccfc302e2\"\u003e\u003ccode\u003ed0b1729\u003c/code\u003e\u003c/a\u003e Prevent returning cached entry if the entry is degenerate (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1873\"\u003e#1873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/81a5fd53cb17c3c1fffb9661d1563ea2d62b6d71\"\u003e\u003ccode\u003e81a5fd5\u003c/code\u003e\u003c/a\u003e PEP 639 compliance (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1894\"\u003e#1894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/1918145a02abfb647fcbde40fbfdfe0311a399d6\"\u003e\u003ccode\u003e1918145\u003c/code\u003e\u003c/a\u003e fix simplecache cat_ranges (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1892\"\u003e#1892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/852f892f497940fc246d335a0ac7b3b3d93530fc\"\u003e\u003ccode\u003e852f892\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1891\"\u003e#1891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/97e5913518b4b11805394add1488ae93c62303cd\"\u003e\u003ccode\u003e97e5913\u003c/code\u003e\u003c/a\u003e Ruff legacy alias (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1887\"\u003e#1887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/57b7381ad92455ea0d4861e5e3531a77b823fc1f\"\u003e\u003ccode\u003e57b7381\u003c/code\u003e\u003c/a\u003e Remove any references to Python 3.8 (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1888\"\u003e#1888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/filesystem_spec/compare/2025.5.1...2025.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` to 25.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\u003ccode\u003eas\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild gallery docker image with python3-slim and reduce image size (\u003ca href=\"https://redirect.github.com/psf/black/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\u003ccode\u003eas\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\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/psf/black/commit/af0ba72a73598c76189d6dd1b21d8532255d5942\"\u003e\u003ccode\u003eaf0ba72\u003c/code\u003e\u003c/a\u003e Prepare docs for release 25.9.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4751\"\u003e#4751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/ffc01a027580d99401abb3197e83d50dc4f4c746\"\u003e\u003ccode\u003effc01a0\u003c/code\u003e\u003c/a\u003e Fix schema generation error caused by new click version (\u003ca href=\"https://redirect.github.com/psf/black/issues/4750\"\u003e#4750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/626b32fe2b5387656be6694da9a4b7a3148fb892\"\u003e\u003ccode\u003e626b32f\u003c/code\u003e\u003c/a\u003e Add normalizing for \u003ccode\u003e\\r\u003c/code\u003e style newlines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/57a461258f324e33bca189b2eb49d7f7a944ffe7\"\u003e\u003ccode\u003e57a4612\u003c/code\u003e\u003c/a\u003e Fix mypy type issue (\u003ca href=\"https://redirect.github.com/psf/black/issues/4745\"\u003e#4745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4f6ad7cf8c3092e0fb4d82f54fe77ccde134468a\"\u003e\u003ccode\u003e4f6ad7c\u003c/code\u003e\u003c/a\u003e Wrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/24f516961720c5578069dee30415b776359b7be5\"\u003e\u003ccode\u003e24f5169\u003c/code\u003e\u003c/a\u003e ci: Run diff-shades on unstable instead of preview (\u003ca href=\"https://redirect.github.com/psf/black/issues/4741\"\u003e#4741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4d55e6017993ee3f0927524e8bc19ead8de9e8ed\"\u003e\u003ccode\u003e4d55e60\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4744\"\u003e#4744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0cf39efdbc3aaea455f95d31e5b42efb6bd61478\"\u003e\u003ccode\u003e0cf39ef\u003c/code\u003e\u003c/a\u003e Improve the performance of get_string_prefix (\u003ca href=\"https://redirect.github.com/psf/black/issues/4742\"\u003e#4742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/1f779dec013db37475fa56a5c9939a09eab7e7d6\"\u003e\u003ccode\u003e1f779de\u003c/code\u003e\u003c/a\u003e Fix line ranges decorator edge case (\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/203fd6b5cdad975178b8174394a7f7fb13d14f02\"\u003e\u003ccode\u003e203fd6b\u003c/code\u003e\u003c/a\u003e Optimize Line string method (\u003ca href=\"https://redirect.github.com/psf/black/issues/4739\"\u003e#4739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.1.0...25.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8` to 7.3.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/c48217e1fc006c2dddd14df54e83b67da15de5cd\"\u003e\u003ccode\u003ec48217e\u003c/code\u003e\u003c/a\u003e Release 7.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/f9e0f33281d5bb892cae2c674ac398439d99c732\"\u003e\u003ccode\u003ef9e0f33\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1986\"\u003e#1986\u003c/a\u003e from PyCQA/document-f542\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/6bcdb628597fa2d03494965089ff87a492ffc1e9\"\u003e\u003ccode\u003e6bcdb62\u003c/code\u003e\u003c/a\u003e document F542\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/70a15b8890d5bdf8c449ebb1b5259bd0140cc16b\"\u003e\u003ccode\u003e70a15b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1985\"\u003e#1985\u003c/a\u003e from PyCQA/upgrade-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/4941a3e32e54488698ecbc23993bfeb2a60c0fc5\"\u003e\u003ccode\u003e4941a3e\u003c/code\u003e\u003c/a\u003e upgrade pyflakes / pycodestyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/23e4005c5501999c29e1e3774de7ed18d1e4e22d\"\u003e\u003ccode\u003e23e4005\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1983\"\u003e#1983\u003c/a\u003e from PyCQA/py314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/019424b80d3d7d5d8a2a1638f5877080546e3f46\"\u003e\u003ccode\u003e019424b\u003c/code\u003e\u003c/a\u003e add support for t-strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/6b6f3d5fefecc994a06f425c18c3cddc9b71e4a4\"\u003e\u003ccode\u003e6b6f3d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1980\"\u003e#1980\u003c/a\u003e from PyCQA/asottile-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/8dfa6695b4fb1e1401b357367a0a71037d29f6aa\"\u003e\u003ccode\u003e8dfa669\u003c/code\u003e\u003c/a\u003e add rtd sphinx config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/ce3411118382d9332feb2749c8f417d10bfa2584\"\u003e\u003ccode\u003ece34111\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1976\"\u003e#1976\u003c/a\u003e from PyCQA/document-f824\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pycqa/flake8/compare/7.2.0...7.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` to 8.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13577\"\u003e#13577\u003c/a\u003e: Clarify that \u003ccode\u003epytest_generate_tests\u003c/code\u003e is discovered in test modules/classes; other hooks must be in \u003ccode\u003econftest.py\u003c/code\u003e or plugins.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13480\"\u003e#13480\u003c/a\u003e: Self-testing: fixed a few test failures when run with \u003ccode\u003e-Wdefault\u003c/code\u003e or a similar override.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13547\"\u003e#13547\u003c/a\u003e: Self-testing: corrected expected message for \u003ccode\u003etest_doctest_unexpected_exception\u003c/code\u003e in Python \u003ccode\u003e3.14\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13684\"\u003e#13684\u003c/a\u003e: Make pytest's own testsuite insensitive to the presence of the \u003ccode\u003eCI\u003c/code\u003e environment variable -- by \u003ccode\u003eogrisel\u003c/code\u003e{.interpreted-text role=\u0026quot;user\u0026quot;}.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bfae4224fd554d3d7f2c277a4cc092b6ec6af3ae\"\u003e\u003ccode\u003ebfae422\u003c/code\u003e\u003c/a\u003e Prepare release version 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/89905381a163be30ae87d62e5f750e902d750c5f\"\u003e\u003ccode\u003e8990538\u003c/code\u003e\u003c/a\u003e Fix passenv CI in tox ini and make tests insensitive to the presence of the C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ca676bfe005aebcb12f4146d1b0f1d2772e2cd5d\"\u003e\u003ccode\u003eca676bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13687\"\u003e#13687\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/e63f6e51c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/975a60a63ce385a44655596e254c1899feaa53e4\"\u003e\u003ccode\u003e975a60a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13686\"\u003e#13686\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/12bde8af6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7723ce84b87ab08f86ddafcb342acc28ba5ec99d\"\u003e\u003ccode\u003e7723ce8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13683\"\u003e#13683\u003c/a\u003e from even-even/fix_Exeption_to_Exception_in_errorMe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7f05680d1301e0969b30bcb3c4b27433c9ee2b7\"\u003e\u003ccode\u003eb7f0568\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13685\"\u003e#13685\u003c/a\u003e from CoretexShadow/fix/docs-pytest-generate-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2c94c4a6948ba53440818389298157fa5d5f94cd\"\u003e\u003ccode\u003e2c94c4a\u003c/code\u003e\u003c/a\u003e add missing colon (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13640\"\u003e#13640\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13641\"\u003e#13641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c3d7684bc01c8c48d05145a30c5211ca8656c68c\"\u003e\u003ccode\u003ec3d7684\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13606\"\u003e#13606\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/5f9938563...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/dc6e3be2ddc75a149b6d102d9b7c82ee47a00cfa\"\u003e\u003ccode\u003edc6e3be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13605\"\u003e#13605\u003c/a\u003e from The-Compiler/training-update-2025-07\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f87289c36c8dbe7740e3020f5546b6f8b0861ff0\"\u003e\u003ccode\u003ef87289c\u003c/code\u003e\u003c/a\u003e Fix crash with \u003ccode\u003etimes\u003c/code\u003e output style and skipped module (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13573\"\u003e#13573\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13579\"\u003e#13579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.0...8.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `robotframework` from 7.2.2 to 7.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/robotframework/robotframework/releases\"\u003erobotframework's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRobot Framework 7.3.2\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://robotframework.org/\"\u003eRobot Framework\u003c/a\u003e 7.3.2 is the second and the last planned bug fix release in the Robot Framework 7.3.x series. It fixes few regressions in earlier RF 7.3.x releases as well as some issues affecting also earlier releases.\u003c/p\u003e\n\u003cp\u003eFor more details, see the \u003ca href=\"https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.3.2.rst\"\u003efull release notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRobot Framework 7.3.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://robotframework.org/\"\u003eRobot Framework\u003c/a\u003e 7.3.1 is the first bug fix release in the Robot Framework 7.3.x series. It fixes all reported regressions in \u003ca href=\"https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.3.rst\"\u003eRobot Framework 7.3\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eFor more details, see the \u003ca href=\"https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.3.1.rst\"\u003efull release notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRobot Framework 7.3\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://robotframework.org/\"\u003eRobot Framework\u003c/a\u003e 7.3 is a feature release with variable type conversion, enhancements and fixes related to timeouts, official Python 3.14 compatibility and various other exciting new features and high priority bug fixes.\u003c/p\u003e\n\u003cp\u003eRobot Framework 7.3 was released on Friday May 30, 2025. For more information see the \u003ca href=\"https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.3.rst\"\u003efull release notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRobot Framework 7.3 release candidate 3\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://robotframework.org/\"\u003eRobot Framework\u003c/a\u003e 7.3 is a feature release with variable type conversion, enhancements and fixes related to timeouts, official Python 3.14 compatibility and various other exciting new features and high priority bug fixes. This release candidate contains all planned code changes.\u003c/p\u003e\n\u003cp\u003eRobot Framework 7.3 release candidate 3 was released on Wednesday May 21, 2025, and the final release is targeted for Tuesday May 27, 2025. For more information see the \u003ca href=\"https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.3rc3.rst\"\u003efull release notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRobot Framework 7.3 release candidate 2\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://robotframework.org/\"\u003eRobot Framework\u003c/a\u003e 7.3 is a feature release with variable type conversion, enhancements and fixes related to timeouts, official Python 3.14 compatibility and various other exciting new features and high priority bug fixes. This release candidate contains all planned code changes.\u003c/p\u003e\n\u003cp\u003eRobot Framework 7.3 release candidate 2 was released on Monday May 19, 2025, and the final release is targeted for Thursday May 22, 2025. For more information see the \u003ca href=\"https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.3rc2.rst\"\u003efull release notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRobot Framework 7.3 release candidate 1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://robotframework.org/\"\u003eRobot Framework\u003c/a\u003e 7.3 is a feature release with variable type conversion, enhancements and fixes related to timeouts, and various other exciting new features and high priority bug fixes. This release candidate contains all planned code changes.\u003c/p\u003e\n\u003cp\u003eRobot Framework 7.3 release candidate 1 was released on Thursday May 8, 2025, and the final release is targeted for Thursday May 15, 2025. For more information see the \u003ca href=\"https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.3rc1.rst\"\u003efull release 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/robotframework/robotframework/commit/5b07ac38cfe44a9445eb10a6005ba5eba575a051\"\u003e\u003ccode\u003e5b07ac3\u003c/code\u003e\u003c/a\u003e Updated version to 7.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/36a4d2297fb01e136c48797457007d32390b13c7\"\u003e\u003ccode\u003e36a4d22\u003c/code\u003e\u003c/a\u003e Release notes for 7.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/3bda0950fd3cf6250509b88e3bfab97e2e95af81\"\u003e\u003ccode\u003e3bda095\u003c/code\u003e\u003c/a\u003e Fix --flattenkeywords with JSON outputs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/38e3926aaf4460fc1bcc57ffd5af1b1ab972fc11\"\u003e\u003ccode\u003e38e3926\u003c/code\u003e\u003c/a\u003e Consistent naming\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/0039fb88475abead92bb462b484a78df4b0c99f9\"\u003e\u003ccode\u003e0039fb8\u003c/code\u003e\u003c/a\u003e Enhance JsonLoader config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/f93468ce16e7e40b14f6f8eda42b3bd0d0f4a2b0\"\u003e\u003ccode\u003ef93468c\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003einclude_keywords=False\u003c/code\u003e with JSON.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/81b358d7c4f53d76b330f108c2e808965ae8d5b9\"\u003e\u003ccode\u003e81b358d\u003c/code\u003e\u003c/a\u003e Nicer signature to ExecutionResult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/ec5aaae261b9c2fedac78577793911820edf4785\"\u003e\u003ccode\u003eec5aaae\u003c/code\u003e\u003c/a\u003e Make JsonDumber configurable.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/331394c8f8b533572cef19d64790af6613cf23ac\"\u003e\u003ccode\u003e331394c\u003c/code\u003e\u003c/a\u003e Don't access suite.teardown unnecessarily.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/0f9e35ea752746a6a5b0a138f3aef4dd880e49ea\"\u003e\u003ccode\u003e0f9e35e\u003c/code\u003e\u003c/a\u003e Fix handling failing suite teardowns with JSON\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/robotframework/robotframework/compare/v7.2.2...v7.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlfluff` from 3.4.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlfluff/sqlfluff/releases\"\u003esqlfluff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.4.2] - 2025-07-11\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThis release adds support for two new dialects: \u003cem\u003eApache Doris\u003c/em\u003e and \u003cem\u003eFlinkSQL\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eIt also has several CLI improvements, Dialect Improvements, and bugfixes\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release has \u003cem\u003e25\u003c/em\u003e contributions in it!\u003c/p\u003e\n\u003cp\u003eAlso, welcome to the \u003cstrong\u003efive\u003c/strong\u003e new contributors! Thanks for your contributions!\u003c/p\u003e\n\u003ch2\u003eWhat’s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePostgres: Fix VARIADIC function call parsing (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/7002\"\u003e#7002\u003c/a\u003e) \u003ca href=\"https://github.com/franloza\"\u003e\u003ccode\u003e@​franloza\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePostgres: Add IS JSON syntax support (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/7001\"\u003e#7001\u003c/a\u003e) \u003ca href=\"https://github.com/franloza\"\u003e\u003ccode\u003e@​franloza\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(databricks): add support for single-line magics (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6999\"\u003e#6999\u003c/a\u003e) \u003ca href=\"https://github.com/phant0mw0lf\"\u003e\u003ccode\u003e@​phant0mw0lf\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrino: support ALTER TABLE (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6996\"\u003e#6996\u003c/a\u003e) \u003ca href=\"https://github.com/ykicisk\"\u003e\u003ccode\u003e@​ykicisk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSnowflake: Support UNION (ALL) BY NAME (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6994\"\u003e#6994\u003c/a\u003e) \u003ca href=\"https://github.com/WittierDinosaur\"\u003e\u003ccode\u003e@​WittierDinosaur\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6522\"\u003e#6522\u003c/a\u003e FlinkSQL Dialect Implementation (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6985\"\u003e#6985\u003c/a\u003e) \u003ca href=\"https://github.com/kalanyuz\"\u003e\u003ccode\u003e@​kalanyuz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTsql align alias when using equal operator (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6786\"\u003e#6786\u003c/a\u003e) \u003ca href=\"https://github.com/IngerMathilde\"\u003e\u003ccode\u003e@​IngerMathilde\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTSQL: Rework the execute statement block to latest specs (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6953\"\u003e#6953\u003c/a\u003e) \u003ca href=\"https://github.com/peterbud\"\u003e\u003ccode\u003e@​peterbud\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Apache Doris SQL dialect support to SQLFluff (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6979\"\u003e#6979\u003c/a\u003e) \u003ca href=\"https://github.com/morningman\"\u003e\u003ccode\u003e@​morningman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eST05: Support dialects that use WITH, INSERT, SELECT order (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6982\"\u003e#6982\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCV12 and AL05: Prevent AL05 from deleting rewritten CV12 references (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6981\"\u003e#6981\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDuckDB: add support for additional star expressions (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6977\"\u003e#6977\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI: Add support for the \u003ccode\u003eNO_COLOR\u003c/code\u003e environment variable (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6976\"\u003e#6976\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLite: Make \u003ccode\u003eACTION\u003c/code\u003e a non-reserved keyword (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6970\"\u003e#6970\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSnowflake: fix collate grammar with aliases (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6967\"\u003e#6967\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds support for \u003ccode\u003ejson_object\u003c/code\u003e syntax in Oracle. (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6973\"\u003e#6973\u003c/a\u003e) \u003ca href=\"https://github.com/joaostorrer\"\u003e\u003ccode\u003e@​joaostorrer\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade OverlapsClauseSegment (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6964\"\u003e#6964\u003c/a\u003e) \u003ca href=\"https://github.com/kkozhakin\"\u003e\u003ccode\u003e@​kkozhakin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eANSI: Support CTEs in Merge (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6972\"\u003e#6972\u003c/a\u003e) \u003ca href=\"https://github.com/NormallyGaussian\"\u003e\u003ccode\u003e@​NormallyGaussian\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ST09 rule not detecting violations in Jinja templated SQL (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6958\"\u003e#6958\u003c/a\u003e) \u003ca href=\"https://github.com/kang8\"\u003e\u003ccode\u003e@​kang8\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMariaDB: Allow CTEs in \u003ccode\u003eINSERT\u003c/code\u003e statements (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6955\"\u003e#6955\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAliasInfo: handle quotes and special aliases in rules (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6954\"\u003e#6954\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI: prioritize configuration file's dialect (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6951\"\u003e#6951\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTsql add alter constraint if exists (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6957\"\u003e#6957\u003c/a\u003e) \u003ca href=\"https://github.com/IngerMathilde\"\u003e\u003ccode\u003e@​IngerMathilde\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTSQL: add support for extended Unicode characters in identifiers (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6952\"\u003e#6952\u003c/a\u003e) \u003ca href=\"https://github.com/peterbud\"\u003e\u003ccode\u003e@​peterbud\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTSQL: Add support for CREATE TABLE GRAPH statements (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6948\"\u003e#6948\u003c/a\u003e) \u003ca href=\"https://github.com/peterbud\"\u003e\u003ccode\u003e@​peterbud\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.4.1] - 2025-06-13\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThis is primarily a ...\n\n_Description has been truncated_","html_url":"https://github.com/openteamsinc/opensourcescore.dev/pull/211","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/openteamsinc%2Fopensourcescore.dev/issues/211","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/211/packages"},{"uuid":"2849195952","node_id":"PR_kwDOJgSYNM6p00ew","number":841,"state":"open","title":"Bump the fs-deps group with 2 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-22T12:05:10.000Z","updated_at":"2025-09-22T12:05:10.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"fs-deps","update_count":2,"packages":[{"name":"fsspec","old_version":"2025.7.0","new_version":"2025.9.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"gcsfs","old_version":"2025.7.0","new_version":"2025.9.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Bumps the fs-deps group with 2 updates: [fsspec](https://github.com/fsspec/filesystem_spec) and [gcsfs](https://github.com/fsspec/gcsfs).\n\nUpdates `fsspec` from 2025.7.0 to 2025.9.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/f84b99f0d1f079f990db1a219b74df66ab3e7160\"\u003e\u003ccode\u003ef84b99f\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1912\"\u003e#1912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/4e5f7686874953e9130891feb2fac69277ab4ad1\"\u003e\u003ccode\u003e4e5f768\u003c/code\u003e\u003c/a\u003e Feature, Add a lookup of Last-Modified in http file headers (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1909\"\u003e#1909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/cf798ec684e0583906dda1ae6ff40de620c01eca\"\u003e\u003ccode\u003ecf798ec\u003c/code\u003e\u003c/a\u003e Add semaphore to AsyncFileSystemWrapper (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1908\"\u003e#1908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/c46db870f828f7f1318ed7a3dc26ecc8b48b3880\"\u003e\u003ccode\u003ec46db87\u003c/code\u003e\u003c/a\u003e Ensure cached filesystems' \u003ccode\u003eprotocol\u003c/code\u003e is preserved (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1897\"\u003e#1897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/d0b1729a522ff9a47bd465bdbe430cdccfc302e2\"\u003e\u003ccode\u003ed0b1729\u003c/code\u003e\u003c/a\u003e Prevent returning cached entry if the entry is degenerate (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1873\"\u003e#1873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/81a5fd53cb17c3c1fffb9661d1563ea2d62b6d71\"\u003e\u003ccode\u003e81a5fd5\u003c/code\u003e\u003c/a\u003e PEP 639 compliance (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1894\"\u003e#1894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/1918145a02abfb647fcbde40fbfdfe0311a399d6\"\u003e\u003ccode\u003e1918145\u003c/code\u003e\u003c/a\u003e fix simplecache cat_ranges (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1892\"\u003e#1892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fsspec/filesystem_spec/compare/2025.7.0...2025.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gcsfs` from 2025.7.0 to 2025.9.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/0b0e077e7a84640ff5ed6c8807026b9e5512d65a\"\u003e\u003ccode\u003e0b0e077\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/64e232c2ee976464ecf9e391cfd592e849d7ffa0\"\u003e\u003ccode\u003e64e232c\u003c/code\u003e\u003c/a\u003e Fix iterating over every entry (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/697\"\u003e#697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/d97099ab40138745569fff98a098defcd7693270\"\u003e\u003ccode\u003ed97099a\u003c/code\u003e\u003c/a\u003e Ensure right error type for get() on nonexistent (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.7.0...2025.9.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/JoranAngevaare/optim_esm_base/pull/841","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoranAngevaare%2Foptim_esm_base/issues/841","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/841/packages"},{"uuid":"2806629918","node_id":"PR_kwDOO8h2Wc6nScYe","number":51,"state":"open","title":"Bump gcsfs from 2025.5.1 to 2025.9.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-08T02:36:08.000Z","updated_at":"2025-09-08T02:36:09.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"gcsfs","old_version":"2025.5.1","new_version":"2025.9.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Bumps [gcsfs](https://github.com/fsspec/gcsfs) from 2025.5.1 to 2025.9.0.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/0b0e077e7a84640ff5ed6c8807026b9e5512d65a\"\u003e\u003ccode\u003e0b0e077\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/64e232c2ee976464ecf9e391cfd592e849d7ffa0\"\u003e\u003ccode\u003e64e232c\u003c/code\u003e\u003c/a\u003e Fix iterating over every entry (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/697\"\u003e#697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/d97099ab40138745569fff98a098defcd7693270\"\u003e\u003ccode\u003ed97099a\u003c/code\u003e\u003c/a\u003e Ensure right error type for get() on nonexistent (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/54e8faa3c6b620f99e232a803d2a86b717c1e6e4\"\u003e\u003ccode\u003e54e8faa\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/40882ce5fc55b941bf566d80f1fc79f7366ccd70\"\u003e\u003ccode\u003e40882ce\u003c/code\u003e\u003c/a\u003e add support message (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/7872bd7a931fb4285d5762ff5d861b8653fc7b70\"\u003e\u003ccode\u003e7872bd7\u003c/code\u003e\u003c/a\u003e remove addcidental inclusion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/55cb49862eaebbe4e6e99455f1eb4079705f66d9\"\u003e\u003ccode\u003e55cb498\u003c/code\u003e\u003c/a\u003e less refresh in ci (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.5.1...2025.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gcsfs\u0026package-manager=pip\u0026previous-version=2025.5.1\u0026new-version=2025.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/kkkamur07/food103seg-calories/pull/51","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkkamur07%2Ffood103seg-calories/issues/51","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/51/packages"},{"uuid":"2800367666","node_id":"PR_kwDOKrpNGs6m6jgy","number":1979,"state":"open","title":"Bump gcsfs from 2025.7.0 to 2025.9.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-04T18:12:08.000Z","updated_at":"2025-09-04T18:12:09.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"gcsfs","old_version":"2025.7.0","new_version":"2025.9.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Bumps [gcsfs](https://github.com/fsspec/gcsfs) from 2025.7.0 to 2025.9.0.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/0b0e077e7a84640ff5ed6c8807026b9e5512d65a\"\u003e\u003ccode\u003e0b0e077\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/64e232c2ee976464ecf9e391cfd592e849d7ffa0\"\u003e\u003ccode\u003e64e232c\u003c/code\u003e\u003c/a\u003e Fix iterating over every entry (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/697\"\u003e#697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/d97099ab40138745569fff98a098defcd7693270\"\u003e\u003ccode\u003ed97099a\u003c/code\u003e\u003c/a\u003e Ensure right error type for get() on nonexistent (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.7.0...2025.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gcsfs\u0026package-manager=pip\u0026previous-version=2025.7.0\u0026new-version=2025.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/shilu10/MANN-Meta-Learning/pull/1979","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/shilu10%2FMANN-Meta-Learning/issues/1979","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1979/packages"},{"uuid":"3381792392","node_id":"PR_kwDOPVej186mwVp7","number":15,"state":"open","title":"Update gcsfs requirement from \u003c2025.8.0 to \u003c2025.10.0","user":"dependabot[bot]","labels":["dependencies","python","stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-09-04T01:21:22.000Z","updated_at":"2025-10-04T11:11:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"gcsfs","old_version":"\u003c2025.8.0","new_version":"\u003c2025.10.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [gcsfs](https://github.com/fsspec/gcsfs) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/0b0e077e7a84640ff5ed6c8807026b9e5512d65a\"\u003e\u003ccode\u003e0b0e077\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/64e232c2ee976464ecf9e391cfd592e849d7ffa0\"\u003e\u003ccode\u003e64e232c\u003c/code\u003e\u003c/a\u003e Fix iterating over every entry (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/697\"\u003e#697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/d97099ab40138745569fff98a098defcd7693270\"\u003e\u003ccode\u003ed97099a\u003c/code\u003e\u003c/a\u003e Ensure right error type for get() on nonexistent (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/54e8faa3c6b620f99e232a803d2a86b717c1e6e4\"\u003e\u003ccode\u003e54e8faa\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/40882ce5fc55b941bf566d80f1fc79f7366ccd70\"\u003e\u003ccode\u003e40882ce\u003c/code\u003e\u003c/a\u003e add support message (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/7872bd7a931fb4285d5762ff5d861b8653fc7b70\"\u003e\u003ccode\u003e7872bd7\u003c/code\u003e\u003c/a\u003e remove addcidental inclusion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/55cb49862eaebbe4e6e99455f1eb4079705f66d9\"\u003e\u003ccode\u003e55cb498\u003c/code\u003e\u003c/a\u003e less refresh in ci (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/818b563e7c171d950b12378acb066660f0d9ac81\"\u003e\u003ccode\u003e818b563\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/689\"\u003e#689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/805295a96033fcfcade9151f73a568a30e1bbe84\"\u003e\u003ccode\u003e805295a\u003c/code\u003e\u003c/a\u003e Use correct timezone conversion for credentials expiry timestamp (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/1543ab4fcc4b17fcaa680abab0e93fed33980e21\"\u003e\u003ccode\u003e1543ab4\u003c/code\u003e\u003c/a\u003e Fix timezone comparison (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/683\"\u003e#683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/0.0.1...2025.9.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 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/Harvester57/astronomer-cosmos/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Harvester57%2Fastronomer-cosmos/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"}],"issue_packages":[{"old_version":"2026.3.0","new_version":"2026.5.0","update_type":"minor","path":null,"pr_created_at":"2026-06-08T03:10:39.000Z","version_change":"2026.3.0 → 2026.5.0","issue":{"uuid":"4609730176","node_id":"PR_kwDOSKhg787jvVND","number":14,"state":"open","title":"chore(deps)(deps): Bump the python-minor-and-patch group across 1 directory with 5 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-08T03:10:39.000Z","updated_at":"2026-06-08T03:10:40.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): Bump","group_name":"python-minor-and-patch","update_count":5,"packages":[{"name":"gcsfs","old_version":"2026.3.0","new_version":"2026.5.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"google-cloud-logging","old_version":"3.15.0","new_version":"3.16.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"ruff","old_version":"0.15.11","new_version":"0.15.16","repository_url":"https://github.com/astral-sh/ruff"},{"name":"ty","old_version":"0.0.32","new_version":"0.0.44","repository_url":"https://github.com/astral-sh/ty"},{"name":"pytest-asyncio","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-minor-and-patch group with 5 updates in the /coderank-reviewer directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gcsfs](https://github.com/fsspec/gcsfs) | `2026.3.0` | `2026.5.0` |\n| [google-cloud-logging](https://github.com/googleapis/google-cloud-python) | `3.15.0` | `3.16.0` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.15.11` | `0.15.16` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.32` | `0.0.44` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `1.3.0` | `1.4.0` |\n\n\nUpdates `gcsfs` from 2026.3.0 to 2026.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fsspec/gcsfs/releases\"\u003egcsfs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2026.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix zonal documentation about finalized objects by \u003ca href=\"https://github.com/Mahalaxmibejugam\"\u003e\u003ccode\u003e@​Mahalaxmibejugam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/828\"\u003efsspec/gcsfs#828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable branch wise tracking by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/819\"\u003efsspec/gcsfs#819\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: adjust fsspec dependency version constraint by \u003ca href=\"https://github.com/zhixiangli\"\u003e\u003ccode\u003e@​zhixiangli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/834\"\u003efsspec/gcsfs#834\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for partial prefixes in find method for HNS buckets by \u003ca href=\"https://github.com/Mahalaxmibejugam\"\u003e\u003ccode\u003e@​Mahalaxmibejugam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/831\"\u003efsspec/gcsfs#831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workflow to automate PyPI package publishing on release by \u003ca href=\"https://github.com/Yonghui-Lee\"\u003e\u003ccode\u003e@​Yonghui-Lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/824\"\u003efsspec/gcsfs#824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix HttpError message formatting and handle None content in validate_response by \u003ca href=\"https://github.com/zhixiangli\"\u003e\u003ccode\u003e@​zhixiangli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/835\"\u003efsspec/gcsfs#835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntegrate prefetcher engine with zonal buckets by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/805\"\u003efsspec/gcsfs#805\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the benchmark config, and fix the block size propogation by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/808\"\u003efsspec/gcsfs#808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd pypi environment to release workflow by \u003ca href=\"https://github.com/Yonghui-Lee\"\u003e\u003ccode\u003e@​Yonghui-Lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/836\"\u003efsspec/gcsfs#836\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2026.4.0...2026.5.0\"\u003ehttps://github.com/fsspec/gcsfs/compare/2026.4.0...2026.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/255e4f866ae2c66dbca14a0aaa3dea024156997f\"\u003e\u003ccode\u003e255e4f8\u003c/code\u003e\u003c/a\u003e Add pypi environment to release workflow (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/836\"\u003e#836\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/2fa8b5a1c9d973e028a1939495cd640be923ed5d\"\u003e\u003ccode\u003e2fa8b5a\u003c/code\u003e\u003c/a\u003e Update the benchmark config, and fix the block size propogation (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/37b7f1a7a6be20ce71ae1d5db60143cee46519c5\"\u003e\u003ccode\u003e37b7f1a\u003c/code\u003e\u003c/a\u003e Integrate prefetcher engine with zonal buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/805\"\u003e#805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b2af5b89fb1e39616d23725e95ec7292b10529cc\"\u003e\u003ccode\u003eb2af5b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/835\"\u003e#835\u003c/a\u003e from zhixiangli/fix-httperror-content-none\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b89bb899afcc753e40a6f29681c7764b77cbc661\"\u003e\u003ccode\u003eb89bb89\u003c/code\u003e\u003c/a\u003e Add workflow to automate PyPI package publishing on release (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/824\"\u003e#824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14bb32a4b7ac1398d044e2b426441c2593b92196\"\u003e\u003ccode\u003e14bb32a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/831\"\u003e#831\u003c/a\u003e from ankitaluthra1/fix-find-partial-prefixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/820c0418861219b1e578736e5b18449e9ddebfb5\"\u003e\u003ccode\u003e820c041\u003c/code\u003e\u003c/a\u003e fix: adjust fsspec dependency version constraint (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/834\"\u003e#834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/005cc2e478a8e9107164c21d1e2e5549cc287103\"\u003e\u003ccode\u003e005cc2e\u003c/code\u003e\u003c/a\u003e add more coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c54372993806e4c0e1a05107ffd08acbe41b0b1c\"\u003e\u003ccode\u003ec543729\u003c/code\u003e\u003c/a\u003e fix issue with special characters in rm method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/5cb0d32633f32dfd2fa15667e55127244a5b6a08\"\u003e\u003ccode\u003e5cb0d32\u003c/code\u003e\u003c/a\u003e Enable branch wise tracking (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2026.3.0...2026.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-logging` from 3.15.0 to 3.16.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-logging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-logging: v3.16.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-logging-v3.15.0...google-cloud-logging-v3.16.0\"\u003ev3.16.0\u003c/a\u003e (2026-06-02)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop support for Python 3.7, 3.8, and 3.9 runtimes (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/17276\"\u003e#17276\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/014e951b\"\u003e014e951b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md\"\u003egoogle-cloud-logging's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://pypi.org/project/google-cloud-documentai/#history\"\u003ePyPI History\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/googleapis/google-cloud-python/commit/5accbb42b3f8372c4d03ef59a6b0000b165f2200\"\u003e\u003ccode\u003e5accbb4\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260602T021047Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/17336\"\u003e#17336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/86e57cb9b6ec4266773e99e8a5f60eda78cd1e11\"\u003e\u003ccode\u003e86e57cb\u003c/code\u003e\u003c/a\u003e fix(spanner_dbapi): replace insecure pickle with json for partition deseriali...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6b62cb6fb3de94326b8944ae08a400c12529cad2\"\u003e\u003ccode\u003e6b62cb6\u003c/code\u003e\u003c/a\u003e feat(bigframes): Add ai_generate functions to the dataframe bq accessor (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/17302\"\u003e#17302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/54fd04b618127ca20ae8f183734ea07add1af876\"\u003e\u003ccode\u003e54fd04b\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260529T145921Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/17312\"\u003e#17312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c04f892621ceeefb5e2dcbf2b9ea0dddb1b9ad31\"\u003e\u003ccode\u003ec04f892\u003c/code\u003e\u003c/a\u003e chore: update googleapis and regenerate (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/17313\"\u003e#17313\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1c2e24f3da44ecfdefe9acb099e28d41d66d46d2\"\u003e\u003ccode\u003e1c2e24f\u003c/code\u003e\u003c/a\u003e chore: generate google-cloud-monitoring-dashboards (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/17309\"\u003e#17309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/06965d82a9676c6e0797bf20e616f2d14332c443\"\u003e\u003ccode\u003e06965d8\u003c/code\u003e\u003c/a\u003e chore: generate google-cloud-containeranalysis (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/17308\"\u003e#17308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/20242246da615ef75d7ed64e0dfd2d6f72537583\"\u003e\u003ccode\u003e2024224\u003c/code\u003e\u003c/a\u003e chore: generate grafeas (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/17307\"\u003e#17307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/9f2ed920d6525f1a1dd51c1b09ca848a04c28c78\"\u003e\u003ccode\u003e9f2ed92\u003c/code\u003e\u003c/a\u003e chore(spanner): deprecate experimental host option/parameter to replace with ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/7813ca4e59dfc3d9e1546b9b5f0acba9e7536a8e\"\u003e\u003ccode\u003e7813ca4\u003c/code\u003e\u003c/a\u003e chore: add missing nox sessions and polish dependencies in sqlalchemy-spanner...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-logging-v3.15.0...google-cloud-logging-v3.16.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.15.11 to 0.15.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.16\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (\u003ccode\u003eASYNC119\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24644\"\u003e#24644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Narrow diagnostic range and exclude cases without exception handlers (\u003ccode\u003ePLW0717\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25440\"\u003e#25440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Treat \u003ccode\u003eyield\u003c/code\u003e before \u003ccode\u003ebreak\u003c/code\u003e from a terminal loop as terminal (\u003ccode\u003eRUF075\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25447\"\u003e#25447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Avoid flagging \u003ccode\u003eruff:ignore\u003c/code\u003e comments as code (\u003ccode\u003eERA001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25537\"\u003e#25537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eeradicate\u003c/code\u003e] Fix \u003ccode\u003eERA001\u003c/code\u003e/\u003ccode\u003eRUF100\u003c/code\u003e conflict when \u003ccode\u003enoqa\u003c/code\u003e is on commented-out code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25414\"\u003e#25414\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyflakes\u003c/code\u003e] Avoid removing the \u003ccode\u003eformat\u003c/code\u003e call when it would change behavior (\u003ccode\u003eF523\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25320\"\u003e#25320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Avoid syntax errors in invalid character replacements in f-strings before Python 3.12 (\u003ccode\u003ePLE2510\u003c/code\u003e, \u003ccode\u003ePLE2512\u003c/code\u003e, \u003ccode\u003ePLE2513\u003c/code\u003e, \u003ccode\u003ePLE2514\u003c/code\u003e, \u003ccode\u003ePLE2515\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25544\"\u003e#25544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Avoid converting \u003ccode\u003eformat\u003c/code\u003e calls with more kinds of side effects (\u003ccode\u003eUP032\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25484\"\u003e#25484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Avoid fixes for ambiguous \u003ccode\u003eargnames\u003c/code\u003e and \u003ccode\u003eargvalues\u003c/code\u003e combinations (\u003ccode\u003ePT006\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24776\"\u003e#24776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDrop excess capacity from statement suites during parsing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25368\"\u003e#25368\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epydocstyle\u003c/code\u003e] Improve discoverability of rules enabled for each convention (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/24973\"\u003e#24973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Restore example code for Python versions before 3.15 (\u003ccode\u003eRUF017\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25439\"\u003e#25439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo \u003ccode\u003ebin/active\u003c/code\u003e → \u003ccode\u003ebin/activate\u003c/code\u003e in tutorial (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25473\"\u003e#25473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redslayer112\"\u003e\u003ccode\u003e@​Redslayer112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koriyoshi2041\"\u003e\u003ccode\u003e@​koriyoshi2041\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/George-Ogden\"\u003e\u003ccode\u003e@​George-Ogden\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TejasAmle\"\u003e\u003ccode\u003e@​TejasAmle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anishgirianish\"\u003e\u003ccode\u003e@​anishgirianish\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/loganrosen\"\u003e\u003ccode\u003e@​loganrosen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RafaelJohn9\"\u003e\u003ccode\u003e@​RafaelJohn9\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adityasingh2400\"\u003e\u003ccode\u003e@​adityasingh2400\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.15.15\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/astral-sh/ruff/commit/6c498ab5394edc5622d7f348e12956bf86203716\"\u003e\u003ccode\u003e6c498ab\u003c/code\u003e\u003c/a\u003e Bump 0.15.16 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25635\"\u003e#25635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e51e132831c4e1c4a5ac00fca4c9256354ab99bf\"\u003e\u003ccode\u003ee51e132\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eyield-in-context-manager-in-async-generator\u003c/code\u003e (`AS...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7c6dcd9f2611999c449143d241c582dedf287964\"\u003e\u003ccode\u003e7c6dcd9\u003c/code\u003e\u003c/a\u003e [ty] Add caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/27058fc071b542bf06395ba89cabed061d313ca6\"\u003e\u003ccode\u003e27058fc\u003c/code\u003e\u003c/a\u003e [ty] Compact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bf80d05f007c939799f530c9e775ed9449f5b2eb\"\u003e\u003ccode\u003ebf80d05\u003c/code\u003e\u003c/a\u003e Fix CODEOWNERS syntax (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25622\"\u003e#25622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/10ccd511e94a81d1e836b174f1c553a73ff3f1b3\"\u003e\u003ccode\u003e10ccd51\u003c/code\u003e\u003c/a\u003e Shrink additional parser AST collections (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25465\"\u003e#25465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/0d7135f4d23e7f4d8404daed16b9ef11d14f3fb9\"\u003e\u003ccode\u003e0d7135f\u003c/code\u003e\u003c/a\u003e [ty] Upgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/49493a3cea83a08fa9aa143695017c816a540f1d\"\u003e\u003ccode\u003e49493a3\u003c/code\u003e\u003c/a\u003e [ty] Show type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/85207d3b7657a84252f266766cb0d56034dc21cc\"\u003e\u003ccode\u003e85207d3\u003c/code\u003e\u003c/a\u003e [ty] sys.implementation.version is not sys.version_info (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/a8a0614348c1fcf47fc9b666eff61a103914d520\"\u003e\u003ccode\u003ea8a0614\u003c/code\u003e\u003c/a\u003e [ty] Avoid retaining duplicate function signatures (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/25609\"\u003e#25609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.15.11...0.15.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.32 to 0.0.44\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.44\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid treating \u003ccode\u003esys.implementation.version\u003c/code\u003e like \u003ccode\u003esys.version_info\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchor point for override diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25621\"\u003e#25621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReuse expression cache for TypedDict union inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25643\"\u003e#25643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable narrowing for unions of TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25188\"\u003e#25188\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pierrem964\"\u003e\u003ccode\u003e@​pierrem964\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Hugo-Polloli\"\u003e\u003ccode\u003e@​Hugo-Polloli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.44\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ty/releases/download/0.0.44/ty-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eInstall prebuilt binaries via powershell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003epowershell -ExecutionPolicy Bypass -c \u0026quot;irm https://releases.astral.sh/github/ty/releases/download/0.0.44/ty-installer.ps1 | iex\u0026quot;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eDownload ty 0.0.44\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.44\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-04.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid treating \u003ccode\u003esys.implementation.version\u003c/code\u003e like \u003ccode\u003esys.version_info\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25608\"\u003e#25608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix anchor point for override diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25621\"\u003e#25621\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow type alias value on hover (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25381\"\u003e#25381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd caching for pattern match narrowing (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25613\"\u003e#25613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompact retained definition and expression identities (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25606\"\u003e#25606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReuse expression cache for TypedDict union inference (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25643\"\u003e#25643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade Salsa (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25545\"\u003e#25545\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCore type checking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnable narrowing for unions of TypedDict (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25188\"\u003e#25188\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lerebear\"\u003e\u003ccode\u003e@​lerebear\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carljm\"\u003e\u003ccode\u003e@​carljm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pierrem964\"\u003e\u003ccode\u003e@​pierrem964\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Hugo-Polloli\"\u003e\u003ccode\u003e@​Hugo-Polloli\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.43\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-06-03.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't inject \u003ccode\u003eUnknown\u003c/code\u003e from non-callable elements of intersection call (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25538\"\u003e#25538\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't needlessly disambiguate the same type alias (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25563\"\u003e#25563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix variance inference for nested type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25567\"\u003e#25567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore rejected member annotations for synthesized bindings (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25427\"\u003e#25427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize dynamic class literals in cycle recovery (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25558\"\u003e#25558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRegister file roots for first-party search paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25522\"\u003e#25522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat union-bound typevars like unions for \u003ccode\u003epossibly-missing-attribute\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25561\"\u003e#25561\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuppress importable completions that are already in scope (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/25479\"\u003e#25479\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/astral-sh/ty/commit/f5523e256eb275c9b473f174aedc383e7b050c34\"\u003e\u003ccode\u003ef5523e2\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.44 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3667\"\u003e#3667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/29ce3146faa2d42867dadd7ecbda84759b8183be\"\u003e\u003ccode\u003e29ce314\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.43 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3648\"\u003e#3648\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/794322d34624abc56301bd85ac354b94ca54fbb2\"\u003e\u003ccode\u003e794322d\u003c/code\u003e\u003c/a\u003e Update docker/build-push-action action to v7.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3629\"\u003e#3629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/ce89685310383494c7dfec92bd2fc2dd2a46d074\"\u003e\u003ccode\u003ece89685\u003c/code\u003e\u003c/a\u003e Update prek dependencies (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3628\"\u003e#3628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/792fb71ca172f8d67fcfdb5fdd452a049724c8fd\"\u003e\u003ccode\u003e792fb71\u003c/code\u003e\u003c/a\u003e Update docker/login-action action to v4.2.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3630\"\u003e#3630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5c377476823a4b77a903fb5340d77b51d68db389\"\u003e\u003ccode\u003e5c37747\u003c/code\u003e\u003c/a\u003e Update docker/metadata-action action to v6.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3631\"\u003e#3631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/5a3e1695ce1e2205070afc18d9a7449e0ed045d0\"\u003e\u003ccode\u003e5a3e169\u003c/code\u003e\u003c/a\u003e Update docker/setup-buildx-action action to v4.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3632\"\u003e#3632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/c2500cc57e4aea85ae8e3287351538ad60a9ee00\"\u003e\u003ccode\u003ec2500cc\u003c/code\u003e\u003c/a\u003e Release: Force usage of PyPI as the index (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3616\"\u003e#3616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/7f8cb6457e8d77178ae9204f9b81a516f44444ed\"\u003e\u003ccode\u003e7f8cb64\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.42 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3615\"\u003e#3615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ty/commit/41bb0d24412ad97c214bd0019e602c463ae3feba\"\u003e\u003ccode\u003e41bb0d2\u003c/code\u003e\u003c/a\u003e Bump version to 0.0.41 (\u003ca href=\"https://redirect.github.com/astral-sh/ty/issues/3601\"\u003e#3601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ty/compare/0.0.32...0.0.44\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio v1.4.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0\"\u003e1.4.0\u003c/a\u003e - 2026-05-26\u003c/h1\u003e\n\u003ch2\u003eDeprecated\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOverriding the \u003cem\u003eevent_loop_policy\u003c/em\u003e fixture is deprecated. Use the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook instead. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook to parametrize asyncio tests with custom event loop factories.\u003c/p\u003e\n\u003cp\u003eThe hook returns a mapping of factory names to loop factories, and \u003ccode\u003epytest.mark.asyncio(loop_factories=[...])\u003c/code\u003e selects a subset of configured factories per test. When a single factory is configured, test names are unchanged.\u003c/p\u003e\n\u003cp\u003eSynchronous \u003ccode\u003e@pytest_asyncio.fixture\u003c/code\u003e functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via \u003ccode\u003easyncio.run()\u003c/code\u003e or \u003ccode\u003easyncio.set_event_loop(None)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved the readability of the warning message that is displayed when \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e is unset (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298\"\u003e#1298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly import \u003ccode\u003easyncio.AbstractEventLoopPolicy\u003c/code\u003e for type checking to avoid raising\na DeprecationWarning. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394\"\u003e#1394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated minimum supported pytest version to v8.4.0. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1397\"\u003e#1397\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a \u003ccode\u003eResourceWarning: unclosed event loop\u003c/code\u003e warning that could occur when a synchronous test called \u003ccode\u003easyncio.run()\u003c/code\u003e or otherwise unset the current event loop after pytest-asyncio had run an async test or fixture. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/724\"\u003e#724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded dependency on \u003ccode\u003esphinx-tabs \u0026gt;= 3.5\u003c/code\u003e to organize documentation examples into tabs. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1395\"\u003e#1395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio v1.4.0a2\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.4.0a2\"\u003e1.4.0a2\u003c/a\u003e - 2026-05-02\u003c/h1\u003e\n\u003ch2\u003eDeprecated\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOverriding the \u003cem\u003eevent_loop_policy\u003c/em\u003e fixture is deprecated. Use the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook instead. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003epytest_asyncio_loop_factories\u003c/code\u003e hook to parametrize asyncio tests with custom event loop factories.\u003c/p\u003e\n\u003cp\u003eThe hook returns a mapping of factory names to loop factories, and \u003ccode\u003epytest.mark.asyncio(loop_factories=[...])\u003c/code\u003e selects a subset of configured factories per test. When a single factory is configured, test names are unchanged on pytest 8.4+.\u003c/p\u003e\n\u003cp\u003eSynchronous \u003ccode\u003e@pytest_asyncio.fixture\u003c/code\u003e functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via \u003ccode\u003easyncio.run()\u003c/code\u003e or \u003ccode\u003easyncio.set_event_loop(None)\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1164\"\u003e#1164\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanged\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved the readability of the warning message that is displayed when \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e is unset (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1298\"\u003e#1298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOnly import \u003ccode\u003easyncio.AbstractEventLoopPolicy\u003c/code\u003e for type checking to avoid raising\na DeprecationWarning. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1394\"\u003e#1394\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/pytest-dev/pytest-asyncio/commit/6e14cd2af9292dca1fa2b027a06bbc40b0e0e425\"\u003e\u003ccode\u003e6e14cd2\u003c/code\u003e\u003c/a\u003e chore: Prepare release of v1.4.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4b900fb5d0c30949c574e55dd904ee179f858a5e\"\u003e\u003ccode\u003e4b900fb\u003c/code\u003e\u003c/a\u003e Build(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ab9f63245094865c42c940a34af724b0dec1debf\"\u003e\u003ccode\u003eab9f632\u003c/code\u003e\u003c/a\u003e Build(deps): Bump zipp from 3.23.1 to 4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a56fc77ecd59f781d8471b0f6a82bf58e08c95fa\"\u003e\u003ccode\u003ea56fc77\u003c/code\u003e\u003c/a\u003e Build(deps): Bump hypothesis from 6.152.6 to 6.152.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/e8bae9bc1f197731fc1a210c0da557af7b698e6d\"\u003e\u003ccode\u003ee8bae9b\u003c/code\u003e\u003c/a\u003e Build(deps): Bump requests from 2.34.0 to 2.34.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/fc433402c570fd36a7a227ef4bc3abd4579299de\"\u003e\u003ccode\u003efc43340\u003c/code\u003e\u003c/a\u003e Build(deps): Bump idna from 3.14 to 3.15\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/762eaf5033b798b965c92afdbb2cebefa8fc3a8b\"\u003e\u003ccode\u003e762eaf5\u003c/code\u003e\u003c/a\u003e Build(deps): Bump jaraco-functools from 4.4.0 to 4.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/b62e2228c80070977baf6b77ba89d5c148af920f\"\u003e\u003ccode\u003eb62e222\u003c/code\u003e\u003c/a\u003e Build(deps): Bump click from 8.3.3 to 8.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/919044700627889d25ca63b6e7a3bc785f3137eb\"\u003e\u003ccode\u003e9190447\u003c/code\u003e\u003c/a\u003e Build(deps): Bump pydantic from 2.13.3 to 2.13.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/82a393c5e31b6ebbbd8ec2a8dafc5f35b9cf1236\"\u003e\u003ccode\u003e82a393c\u003c/code\u003e\u003c/a\u003e ci: Remove unnecessary debug output.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v1.3.0...v1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/coderank-dev/coderank-pr/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderank-dev%2Fcoderank-pr/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"}},{"old_version":"\u003e=2023.0","new_version":"\u003e=2026.5.0","update_type":null,"path":null,"pr_created_at":"2026-05-24T17:17:20.000Z","version_change":"\u003e=2023.0 → \u003e=2026.5.0","issue":{"uuid":"4512360049","node_id":"PR_kwDOSlTVxc7e0Ecl","number":68,"state":"closed","title":"build(deps-dev): Update gcsfs requirement from \u003e=2023.0 to \u003e=2026.5.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-05-24T20:18:31.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-24T17:17:20.000Z","updated_at":"2026-05-24T20:18:39.000Z","time_to_close":10871,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): Update","packages":[{"name":"gcsfs","old_version":"\u003e=2023.0","new_version":"\u003e=2026.5.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [gcsfs](https://github.com/fsspec/gcsfs) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fsspec/gcsfs/releases\"\u003egcsfs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2026.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix zonal documentation about finalized objects by \u003ca href=\"https://github.com/Mahalaxmibejugam\"\u003e\u003ccode\u003e@​Mahalaxmibejugam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/828\"\u003efsspec/gcsfs#828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable branch wise tracking by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/819\"\u003efsspec/gcsfs#819\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: adjust fsspec dependency version constraint by \u003ca href=\"https://github.com/zhixiangli\"\u003e\u003ccode\u003e@​zhixiangli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/834\"\u003efsspec/gcsfs#834\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for partial prefixes in find method for HNS buckets by \u003ca href=\"https://github.com/Mahalaxmibejugam\"\u003e\u003ccode\u003e@​Mahalaxmibejugam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/831\"\u003efsspec/gcsfs#831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workflow to automate PyPI package publishing on release by \u003ca href=\"https://github.com/Yonghui-Lee\"\u003e\u003ccode\u003e@​Yonghui-Lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/824\"\u003efsspec/gcsfs#824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix HttpError message formatting and handle None content in validate_response by \u003ca href=\"https://github.com/zhixiangli\"\u003e\u003ccode\u003e@​zhixiangli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/835\"\u003efsspec/gcsfs#835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntegrate prefetcher engine with zonal buckets by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/805\"\u003efsspec/gcsfs#805\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the benchmark config, and fix the block size propogation by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/808\"\u003efsspec/gcsfs#808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd pypi environment to release workflow by \u003ca href=\"https://github.com/Yonghui-Lee\"\u003e\u003ccode\u003e@​Yonghui-Lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/836\"\u003efsspec/gcsfs#836\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2026.4.0...2026.5.0\"\u003ehttps://github.com/fsspec/gcsfs/compare/2026.4.0...2026.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/255e4f866ae2c66dbca14a0aaa3dea024156997f\"\u003e\u003ccode\u003e255e4f8\u003c/code\u003e\u003c/a\u003e Add pypi environment to release workflow (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/836\"\u003e#836\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/2fa8b5a1c9d973e028a1939495cd640be923ed5d\"\u003e\u003ccode\u003e2fa8b5a\u003c/code\u003e\u003c/a\u003e Update the benchmark config, and fix the block size propogation (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/37b7f1a7a6be20ce71ae1d5db60143cee46519c5\"\u003e\u003ccode\u003e37b7f1a\u003c/code\u003e\u003c/a\u003e Integrate prefetcher engine with zonal buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/805\"\u003e#805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b2af5b89fb1e39616d23725e95ec7292b10529cc\"\u003e\u003ccode\u003eb2af5b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/835\"\u003e#835\u003c/a\u003e from zhixiangli/fix-httperror-content-none\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b89bb899afcc753e40a6f29681c7764b77cbc661\"\u003e\u003ccode\u003eb89bb89\u003c/code\u003e\u003c/a\u003e Add workflow to automate PyPI package publishing on release (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/824\"\u003e#824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14bb32a4b7ac1398d044e2b426441c2593b92196\"\u003e\u003ccode\u003e14bb32a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/831\"\u003e#831\u003c/a\u003e from ankitaluthra1/fix-find-partial-prefixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/820c0418861219b1e578736e5b18449e9ddebfb5\"\u003e\u003ccode\u003e820c041\u003c/code\u003e\u003c/a\u003e fix: adjust fsspec dependency version constraint (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/834\"\u003e#834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/005cc2e478a8e9107164c21d1e2e5549cc287103\"\u003e\u003ccode\u003e005cc2e\u003c/code\u003e\u003c/a\u003e add more coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c54372993806e4c0e1a05107ffd08acbe41b0b1c\"\u003e\u003ccode\u003ec543729\u003c/code\u003e\u003c/a\u003e fix issue with special characters in rm method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/5cb0d32633f32dfd2fa15667e55127244a5b6a08\"\u003e\u003ccode\u003e5cb0d32\u003c/code\u003e\u003c/a\u003e Enable branch wise tracking (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2023.1.0...2026.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/tongqqiu/filedge/pull/68","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tongqqiu%2Ffiledge/issues/68","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/68/packages"}},{"old_version":"2026.4.0","new_version":"2026.5.0","update_type":"minor","path":null,"pr_created_at":"2026-05-12T00:28:00.000Z","version_change":"2026.4.0 → 2026.5.0","issue":{"uuid":"4425259729","node_id":"PR_kwDOMjIvDc7aeXKW","number":618,"state":"closed","title":"Bump the non-major-versions group with 7 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["alexander0042"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-12T01:13:06.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-12T00:28:00.000Z","updated_at":"2026-05-12T01:13:15.000Z","time_to_close":2706,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"non-major-versions","update_count":7,"packages":[{"name":"aiobotocore","old_version":"3.6.0","new_version":"3.7.0","repository_url":"https://github.com/aio-libs/aiobotocore"},{"name":"gcsfs","old_version":"2026.4.0","new_version":"2026.5.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"orjson","old_version":"3.11.8","new_version":"3.11.9","repository_url":"https://github.com/ijl/orjson"},{"name":"pandas","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"ujson","old_version":"5.12.0","new_version":"5.12.1","repository_url":"https://github.com/ultrajson/ultrajson"},{"name":"zarr","old_version":"3.2.0","new_version":"3.2.1","repository_url":"https://github.com/zarr-developers/zarr-python"},{"name":"xarray-spatial","old_version":"0.9.8","new_version":"0.9.9","repository_url":"https://github.com/xarray-contrib/xarray-spatial"}],"path":null,"ecosystem":"pip"},"body":"Bumps the non-major-versions group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [aiobotocore](https://github.com/aio-libs/aiobotocore) | `3.6.0` | `3.7.0` |\n| [gcsfs](https://github.com/fsspec/gcsfs) | `2026.4.0` | `2026.5.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.8` | `3.11.9` |\n| [pandas](https://github.com/pandas-dev/pandas) | `3.0.2` | `3.0.3` |\n| [ujson](https://github.com/ultrajson/ultrajson) | `5.12.0` | `5.12.1` |\n| [zarr](https://github.com/zarr-developers/zarr-python) | `3.2.0` | `3.2.1` |\n| [xarray-spatial](https://github.com/xarray-contrib/xarray-spatial) | `0.9.8` | `0.9.9` |\n\nUpdates `aiobotocore` from 3.6.0 to 3.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aio-libs/aiobotocore/releases\"\u003eaiobotocore's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.7.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ereplace per-PR \u003ccode\u003eCHANGES.rst\u003c/code\u003e / \u003ccode\u003e__init__.py\u003c/code\u003e ceremony with an AI-drafted\nrelease flow: contributors no longer touch version or changelog files; a\nworkflow-triggered agent synthesizes merged PRs into a release PR at release\ntime (closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1167\"\u003e#1167\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1592\"\u003e#1592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eAioSession.warm_up_loader_caches()\u003c/code\u003e and \u003ccode\u003ewarm_up_loader_caches\u003c/code\u003e\noption in \u003ccode\u003eAioConfig\u003c/code\u003e to pre-populate botocore loader caches off the event\nloop, avoiding blocking file I/O on first client/waiter/paginator use\n(closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1199\"\u003e#1199\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix race condition in \u003ccode\u003eAioAssumeRoleProvider._visited_profiles\u003c/code\u003e causing\nfalse \u003ccode\u003eInfiniteLoopConfigError\u003c/code\u003e under concurrent async usage\n(closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1455\"\u003e#1455\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efall back to synchronous \u003ccode\u003esubprocess.run\u003c/code\u003e (via \u003ccode\u003easyncio.to_thread\u003c/code\u003e) for\n\u003ccode\u003ecredential_process\u003c/code\u003e when the running event loop does not implement\nsubprocess transports — notably \u003ccode\u003easyncio.SelectorEventLoop\u003c/code\u003e on Windows\n(closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1415\"\u003e#1415\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1588\"\u003e#1588\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aio-libs/aiobotocore/blob/main/CHANGES.rst\"\u003eaiobotocore's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e3.7.0 (2026-05-09)\n^^^^^^^^^^^^^^^^^^\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ereplace per-PR \u003ccode\u003eCHANGES.rst\u003c/code\u003e / \u003ccode\u003e__init__.py\u003c/code\u003e ceremony with an AI-drafted\nrelease flow: contributors no longer touch version or changelog files; a\nworkflow-triggered agent synthesizes merged PRs into a release PR at release\ntime (closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1167\"\u003e#1167\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1592\"\u003e#1592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eAioSession.warm_up_loader_caches()\u003c/code\u003e and \u003ccode\u003ewarm_up_loader_caches\u003c/code\u003e\noption in \u003ccode\u003eAioConfig\u003c/code\u003e to pre-populate botocore loader caches off the event\nloop, avoiding blocking file I/O on first client/waiter/paginator use\n(closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1199\"\u003e#1199\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix race condition in \u003ccode\u003eAioAssumeRoleProvider._visited_profiles\u003c/code\u003e causing\nfalse \u003ccode\u003eInfiniteLoopConfigError\u003c/code\u003e under concurrent async usage\n(closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1455\"\u003e#1455\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efall back to synchronous \u003ccode\u003esubprocess.run\u003c/code\u003e (via \u003ccode\u003easyncio.to_thread\u003c/code\u003e) for\n\u003ccode\u003ecredential_process\u003c/code\u003e when the running event loop does not implement\nsubprocess transports — notably \u003ccode\u003easyncio.SelectorEventLoop\u003c/code\u003e on Windows\n(closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1415\"\u003e#1415\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1588\"\u003e#1588\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/aio-libs/aiobotocore/commit/d232742cfc2e1098cb3a448f9e1d78eb0899203d\"\u003e\u003ccode\u003ed232742\u003c/code\u003e\u003c/a\u003e Release v3.7.0 (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1595\"\u003e#1595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/0fb20e5732b50c1b8336bd952929185fe0528e25\"\u003e\u003ccode\u003e0fb20e5\u003c/code\u003e\u003c/a\u003e fix(draft-release): tighten window boundary + unique-PR count (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1597\"\u003e#1597\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/e8bb50e26d754f5753b75a5b1b5f70be90ea1367\"\u003e\u003ccode\u003ee8bb50e\u003c/code\u003e\u003c/a\u003e docs(CLAUDE.md): canonical branch-creation pattern for Claude workflows (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1596\"\u003e#1596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/b8c2266f589dcbfe9f0ad04b3a4fc7491969c850\"\u003e\u003ccode\u003eb8c2266\u003c/code\u003e\u003c/a\u003e fix(draft-release): provision uv + Python in workflow (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1594\"\u003e#1594\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/392dfcea287c2348c9924f9578855fb1df065776\"\u003e\u003ccode\u003e392dfce\u003c/code\u003e\u003c/a\u003e feat: AI-drafted release flow (closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1167\"\u003e#1167\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1592\"\u003e#1592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/0cbf43792b4a1d8b1286faa13657ea57d2f2b062\"\u003e\u003ccode\u003e0cbf437\u003c/code\u003e\u003c/a\u003e chore(release): consolidate unreleased 3.6.1/3.7.0/3.7.1 into 3.7.0 (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1593\"\u003e#1593\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/e332cd4727756da8db07e5a8bfc7ff71a0dc9def\"\u003e\u003ccode\u003ee332cd4\u003c/code\u003e\u003c/a\u003e fix: credential_process on Windows + Selector event loop (closes \u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1415\"\u003e#1415\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1588\"\u003e#1588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/4d1dbadaa56133a75f1df0267d619ffe4b43ec3f\"\u003e\u003ccode\u003e4d1dbad\u003c/code\u003e\u003c/a\u003e Bump anthropics/claude-code-action from 1.0.105 to 1.0.111 (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1584\"\u003e#1584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/bc3c5b5827fd8a8f3d3e89589c5abae67ef42584\"\u003e\u003ccode\u003ebc3c5b5\u003c/code\u003e\u003c/a\u003e Support warm-up of loader caches (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aio-libs/aiobotocore/commit/804cf28a6f92e9c5fe66d12e02d68783e94b6f02\"\u003e\u003ccode\u003e804cf28\u003c/code\u003e\u003c/a\u003e Bump pre-commit from 4.5.1 to 4.6.0 (\u003ca href=\"https://redirect.github.com/aio-libs/aiobotocore/issues/1586\"\u003e#1586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aio-libs/aiobotocore/compare/3.6.0...3.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gcsfs` from 2026.4.0 to 2026.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fsspec/gcsfs/releases\"\u003egcsfs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2026.5.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix zonal documentation about finalized objects by \u003ca href=\"https://github.com/Mahalaxmibejugam\"\u003e\u003ccode\u003e@​Mahalaxmibejugam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/828\"\u003efsspec/gcsfs#828\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable branch wise tracking by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/819\"\u003efsspec/gcsfs#819\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: adjust fsspec dependency version constraint by \u003ca href=\"https://github.com/zhixiangli\"\u003e\u003ccode\u003e@​zhixiangli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/834\"\u003efsspec/gcsfs#834\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for partial prefixes in find method for HNS buckets by \u003ca href=\"https://github.com/Mahalaxmibejugam\"\u003e\u003ccode\u003e@​Mahalaxmibejugam\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/831\"\u003efsspec/gcsfs#831\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workflow to automate PyPI package publishing on release by \u003ca href=\"https://github.com/Yonghui-Lee\"\u003e\u003ccode\u003e@​Yonghui-Lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/824\"\u003efsspec/gcsfs#824\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix HttpError message formatting and handle None content in validate_response by \u003ca href=\"https://github.com/zhixiangli\"\u003e\u003ccode\u003e@​zhixiangli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/835\"\u003efsspec/gcsfs#835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntegrate prefetcher engine with zonal buckets by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/805\"\u003efsspec/gcsfs#805\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the benchmark config, and fix the block size propogation by \u003ca href=\"https://github.com/googlyrahman\"\u003e\u003ccode\u003e@​googlyrahman\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/808\"\u003efsspec/gcsfs#808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd pypi environment to release workflow by \u003ca href=\"https://github.com/Yonghui-Lee\"\u003e\u003ccode\u003e@​Yonghui-Lee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/pull/836\"\u003efsspec/gcsfs#836\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2026.4.0...2026.5.0\"\u003ehttps://github.com/fsspec/gcsfs/compare/2026.4.0...2026.5.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/255e4f866ae2c66dbca14a0aaa3dea024156997f\"\u003e\u003ccode\u003e255e4f8\u003c/code\u003e\u003c/a\u003e Add pypi environment to release workflow (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/836\"\u003e#836\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/2fa8b5a1c9d973e028a1939495cd640be923ed5d\"\u003e\u003ccode\u003e2fa8b5a\u003c/code\u003e\u003c/a\u003e Update the benchmark config, and fix the block size propogation (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/808\"\u003e#808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/37b7f1a7a6be20ce71ae1d5db60143cee46519c5\"\u003e\u003ccode\u003e37b7f1a\u003c/code\u003e\u003c/a\u003e Integrate prefetcher engine with zonal buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/805\"\u003e#805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b2af5b89fb1e39616d23725e95ec7292b10529cc\"\u003e\u003ccode\u003eb2af5b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/835\"\u003e#835\u003c/a\u003e from zhixiangli/fix-httperror-content-none\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b89bb899afcc753e40a6f29681c7764b77cbc661\"\u003e\u003ccode\u003eb89bb89\u003c/code\u003e\u003c/a\u003e Add workflow to automate PyPI package publishing on release (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/824\"\u003e#824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14bb32a4b7ac1398d044e2b426441c2593b92196\"\u003e\u003ccode\u003e14bb32a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/831\"\u003e#831\u003c/a\u003e from ankitaluthra1/fix-find-partial-prefixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/820c0418861219b1e578736e5b18449e9ddebfb5\"\u003e\u003ccode\u003e820c041\u003c/code\u003e\u003c/a\u003e fix: adjust fsspec dependency version constraint (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/834\"\u003e#834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/005cc2e478a8e9107164c21d1e2e5549cc287103\"\u003e\u003ccode\u003e005cc2e\u003c/code\u003e\u003c/a\u003e add more coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c54372993806e4c0e1a05107ffd08acbe41b0b1c\"\u003e\u003ccode\u003ec543729\u003c/code\u003e\u003c/a\u003e fix issue with special characters in rm method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/5cb0d32633f32dfd2fa15667e55127244a5b6a08\"\u003e\u003ccode\u003e5cb0d32\u003c/code\u003e\u003c/a\u003e Enable branch wise tracking (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2026.4.0...2026.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `orjson` from 3.11.8 to 3.11.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/releases\"\u003eorjson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.9\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.95 or later instead of 1.89.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix building on Rust 1.95.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ijl/orjson/blob/master/CHANGELOG.md\"\u003eorjson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.11.9 - 2026-05-06\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBuild now depends on Rust 1.95 or later instead of 1.89.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix building on Rust 1.95.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/705515d77b28429d0b7c30c3d781abe52e8a1e5a\"\u003e\u003ccode\u003e705515d\u003c/code\u003e\u003c/a\u003e 3.11.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/d19055d5bab432f98d53b71606a9c6c23fb21bf6\"\u003e\u003ccode\u003ed19055d\u003c/code\u003e\u003c/a\u003e build update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ijl/orjson/commit/77e2d96c3febe099cde2447856fe2523d68c71b0\"\u003e\u003ccode\u003e77e2d96\u003c/code\u003e\u003c/a\u003e MSRV 1.95, remove compiler feature detection\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ijl/orjson/compare/3.11.8...3.11.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pandas` from 3.0.2 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epandas 3.0.3\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 3.0.3.\nThis is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/docs/whatsnew/v3.0.3.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\u003c/p\u003e\n\u003cp\u003ePandas 3.0 supports Python 3.11 and higher.\nThe release can be installed from PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython -m pip install --upgrade pandas==3.0.*\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr from conda-forge\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install -c conda-forge pandas=3.0\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\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/pandas-dev/pandas/commit/72f2fea91530b5abb3cf2100cb22d84e504695c0\"\u003e\u003ccode\u003e72f2fea\u003c/code\u003e\u003c/a\u003e RLS: 3.0.3 (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65590\"\u003e#65590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2897590094c2b6e3962d01a82665936f30be563d\"\u003e\u003ccode\u003e2897590\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65436\"\u003e#65436\u003c/a\u003e on branch 3.0.x (Account for privatization of matplotlib `...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/49894b5b6037c50f6444504070d9b1e8e514001a\"\u003e\u003ccode\u003e49894b5\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65499\"\u003e#65499\u003c/a\u003e on branch 3.0.x (BUG: fix check if pyarrow is installed in...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/1c6d1e30cc4b80bedb769a8b3731b0788f69c9dc\"\u003e\u003ccode\u003e1c6d1e3\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] PERF: remove special casing for zoneinfo in tz_localize_to_u...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/2a547116afc46d88d4e6584670fd793949222a1e\"\u003e\u003ccode\u003e2a54711\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/64379\"\u003e#64379\u003c/a\u003e on branch 3.0.x (PERF: improve performance with ZoneInfo t...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/036bb7c0e7160b9d5a7f6bd26a9fc00921fa6977\"\u003e\u003ccode\u003e036bb7c\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65482\"\u003e#65482\u003c/a\u003e on branch 3.0.x (PERF: don't call unique on dtypes for che...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bf4c182b09251f5b469e8e246ae3ea3e1ae07164\"\u003e\u003ccode\u003ebf4c182\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65410\"\u003e#65410\u003c/a\u003e on branch 3.0.x (TST: also convert str index to object in ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/dd02d75ce219135f9f3f65c13644d4be35585d42\"\u003e\u003ccode\u003edd02d75\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] BUG: keep fsspec OpenFile alive for chained URL reads (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/6547\"\u003e#6547\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/aef3d0f6698667262c6d6ffc69180b280b0fa86a\"\u003e\u003ccode\u003eaef3d0f\u003c/code\u003e\u003c/a\u003e [backport 3.0.x] CI: lowercase types-pymysql/types-pyyaml to fix mamba 2.6.0 ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/bb8e24876273a14322047f4b89e648f6a4abebae\"\u003e\u003ccode\u003ebb8e248\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/65399\"\u003e#65399\u003c/a\u003e on branch 3.0.x (DOC: fix source link for classes in the r...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v3.0.2...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ujson` from 5.12.0 to 5.12.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ultrajson/ultrajson/releases\"\u003eujson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.12.1\u003c/h2\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix encoding ref leak with non-English character (\u003ca href=\"https://redirect.github.com/ultrajson/ultrajson/issues/714\"\u003e#714\u003c/a\u003e) \u003ca href=\"https://github.com/nhancdt2602\"\u003e\u003ccode\u003e@​nhancdt2602\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix memory leak when \u003ccode\u003eujson.dump()\u003c/code\u003e is unable to write to its file (0bf630aaef59c0aafd0c8a4fc8bbe2a7bcefa853) \u003ca href=\"https://github.com/bwoodsend\"\u003e\u003ccode\u003e@​bwoodsend\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eNote that pre-built wheels for graalpy on macOS have been omitted from this release due to infrastructural issues building them (\u003ca href=\"https://redirect.github.com/ultrajson/ultrajson/issues/731\"\u003e#731\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/ultrajson/ultrajson/commit/7d9036f4896256ac772fdb45d27d45463efe59cb\"\u003e\u003ccode\u003e7d9036f\u003c/code\u003e\u003c/a\u003e Temporarily disable pre-built wheels for graalpy on macOS (\u003ca href=\"https://redirect.github.com/ultrajson/ultrajson/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/0bf630aaef59c0aafd0c8a4fc8bbe2a7bcefa853\"\u003e\u003ccode\u003e0bf630a\u003c/code\u003e\u003c/a\u003e Temporarily disable pre-built wheels for graalpy on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/46f75969b18e1d37da3ad0fbb1954d146e072c5d\"\u003e\u003ccode\u003e46f7596\u003c/code\u003e\u003c/a\u003e Enable read access for CI/CD\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/82af1d0ac01d09aa40c887b460d44b9d9f4bccd9\"\u003e\u003ccode\u003e82af1d0\u003c/code\u003e\u003c/a\u003e Fix failure cleanup paths in ujson.dump()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/ceae6cd09dd1c29e747fa4041febcd4fdfd33c0a\"\u003e\u003ccode\u003eceae6cd\u003c/code\u003e\u003c/a\u003e Gitignore .fuse_hidden and .DS_Store files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/dd87ed388816eb5a02bc6f752c27cda5df5c1aa1\"\u003e\u003ccode\u003edd87ed3\u003c/code\u003e\u003c/a\u003e Improve unit test coverage (\u003ca href=\"https://redirect.github.com/ultrajson/ultrajson/issues/718\"\u003e#718\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/ddbe2da83bd7fe9940eec1766bd75e21e76bc7d7\"\u003e\u003ccode\u003eddbe2da\u003c/code\u003e\u003c/a\u003e Update release-drafter/release-drafter action to v7.2.1 (\u003ca href=\"https://redirect.github.com/ultrajson/ultrajson/issues/717\"\u003e#717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/3be5ae59f5548ec9a1fef56bfa2a005cfa5c6c09\"\u003e\u003ccode\u003e3be5ae5\u003c/code\u003e\u003c/a\u003e Update release-drafter/release-drafter action to v7.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/9f90a8c797a20c19a80b78d340ac4251626c7494\"\u003e\u003ccode\u003e9f90a8c\u003c/code\u003e\u003c/a\u003e Fix encoding ref leak with non-English character (\u003ca href=\"https://redirect.github.com/ultrajson/ultrajson/issues/714\"\u003e#714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ultrajson/ultrajson/commit/f1574e57b8a31efaa9b1bfa530c672bc1fe3536d\"\u003e\u003ccode\u003ef1574e5\u003c/code\u003e\u003c/a\u003e Hash pin GitHub Actions (\u003ca href=\"https://redirect.github.com/ultrajson/ultrajson/issues/715\"\u003e#715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ultrajson/ultrajson/compare/5.12.0...5.12.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zarr` from 3.2.0 to 3.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/zarr-developers/zarr-python/releases\"\u003ezarr's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat:metadata package by \u003ca href=\"https://github.com/d-v-b\"\u003e\u003ccode\u003e@​d-v-b\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/pull/3919\"\u003ezarr-developers/zarr-python#3919\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: CastValue wrap validation bug  by \u003ca href=\"https://github.com/d-v-b\"\u003e\u003ccode\u003e@​d-v-b\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/pull/3938\"\u003ezarr-developers/zarr-python#3938\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use contextual arrayspec when validating / evolving codecs by \u003ca href=\"https://github.com/d-v-b\"\u003e\u003ccode\u003e@​d-v-b\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/pull/3941\"\u003ezarr-developers/zarr-python#3941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: defer to fsspec for memory url scheme by \u003ca href=\"https://github.com/d-v-b\"\u003e\u003ccode\u003e@​d-v-b\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/pull/3944\"\u003ezarr-developers/zarr-python#3944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease : 3.2.1 release notes by \u003ca href=\"https://github.com/d-v-b\"\u003e\u003ccode\u003e@​d-v-b\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/pull/3942\"\u003ezarr-developers/zarr-python#3942\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/zarr-developers/zarr-python/compare/v3.2.0...v3.2.1\"\u003ehttps://github.com/zarr-developers/zarr-python/compare/v3.2.0...v3.2.1\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/zarr-developers/zarr-python/blob/main/docs/release-notes.md\"\u003ezarr's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.2.1 (2026-05-05)\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a \u003ccode\u003eCastValue\u003c/code\u003e validation bug where the \u0026quot;can we use an out-of-range mode\u0026quot; check\ninspected the source dtype instead of the target dtype. This meant arrays with a\nfloat source dtype and an integer target dtype incorrectly raised a \u003ccode\u003eValueError\u003c/code\u003e\nwhen configured with a \u003ccode\u003ewrap\u003c/code\u003e out-of-range mode. (\u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/issues/3938\"\u003e#3938\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a bug where the codec pipeline evolved each codec against the original\narray spec instead of the spec produced by upstream array-to-array codecs. This\ncaused failures whenever an upstream codec changed the dtype between codec\nboundaries — e.g. arrays using \u003ccode\u003eCastValue\u003c/code\u003e to convert a single-byte source dtype\n(\u003ccode\u003eint8\u003c/code\u003e) to a multi-byte target dtype (\u003ccode\u003eint16\u003c/code\u003e) raised a \u003ccode\u003eValueError\u003c/code\u003e from\n\u003ccode\u003eBytesCodec\u003c/code\u003e about a missing \u003ccode\u003eendian\u003c/code\u003e configuration. (\u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/issues/3941\"\u003e#3941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed breakage in existing fsspec-dependent workflows caused by associating the \u0026quot;memory\u0026quot; URL scheme with\ninstances of \u003ccode\u003eManagedMemoryStore\u003c/code\u003e instead of fsspec's memory-backed store. After this change, store URLs with a \u0026quot;memory\u0026quot; scheme are handled differently when \u003ccode\u003efsspec\u003c/code\u003e is installed:\nwith \u003ccode\u003efsspec\u003c/code\u003e, a \u003ccode\u003eFsspecStore\u003c/code\u003e backed by a \u003ccode\u003eMemoryFileSystem\u003c/code\u003e is used. Without \u003ccode\u003efsspec\u003c/code\u003e,\na \u003ccode\u003eManagedMemoryStore\u003c/code\u003e is used. (\u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/issues/3944\"\u003e#3944\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/zarr-developers/zarr-python/commit/85890b3bb404fd1d401267c508a2694f5734559e\"\u003e\u003ccode\u003e85890b3\u003c/code\u003e\u003c/a\u003e release : 3.2.1 release notes (\u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/issues/3942\"\u003e#3942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zarr-developers/zarr-python/commit/37ae37b3f5b4c9c5f3577de7dab2f628ffa753f9\"\u003e\u003ccode\u003e37ae37b\u003c/code\u003e\u003c/a\u003e fix: defer to fsspec for memory url scheme (\u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/issues/3944\"\u003e#3944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zarr-developers/zarr-python/commit/021662c87acfd145f87f72fc340dd686d1b375ae\"\u003e\u003ccode\u003e021662c\u003c/code\u003e\u003c/a\u003e fix: use contextual arrayspec when validating / evolving codecs (\u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/issues/3941\"\u003e#3941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zarr-developers/zarr-python/commit/ad374b5e8e4a07947b8ca5d72d72887010a7e151\"\u003e\u003ccode\u003ead374b5\u003c/code\u003e\u003c/a\u003e cast_value data type validation was checking the source data type instead of ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zarr-developers/zarr-python/commit/f8c0c5d97b32f97c1bd231af27078b4efc7e2a1b\"\u003e\u003ccode\u003ef8c0c5d\u003c/code\u003e\u003c/a\u003e feat:metadata package (\u003ca href=\"https://redirect.github.com/zarr-developers/zarr-python/issues/3919\"\u003e#3919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/zarr-developers/zarr-python/compare/v3.2.0...v3.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `xarray-spatial` from 0.9.8 to 0.9.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/releases\"\u003exarray-spatial's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.9.9\u003c/h2\u003e\n\u003ch3\u003eVersion 0.9.9 - 2026-05-05\u003c/h3\u003e\n\u003ch4\u003eBug fixes and improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd geotiff edge-case tests and integer-coord fallback (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1482\"\u003e#1482\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1492\"\u003e#1492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse synchronous dask scheduler for different-CRS merge parity test (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1495\"\u003e#1495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFetch COG tiles concurrently in HTTP path to mask RTT (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1487\"\u003e#1487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeotiff polish: validation, caching caps, parallelism thresholds, memory guards (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1488\"\u003e#1488\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1493\"\u003e#1493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRound-trip transform, crs, and tag metadata through to_geotiff/open_geotiff (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1484\"\u003e#1484\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1494\"\u003e#1494\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTighten geotiff reader: partial-tile shape check, ModelTransformation rotation guard (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1486\"\u003e#1486\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1491\"\u003e#1491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd geotiff writer test matrix (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1483\"\u003e#1483\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1490\"\u003e#1490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStream tile writes per dask chunk segment to bound peak memory in to_geotiff (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1485\"\u003e#1485\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1489\"\u003e#1489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd regression test for GPU pred=3 multi-sample TIFFs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1479\"\u003e#1479\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake cubic resample prefilter explicit so chunk seams stay sub-eps (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1464\"\u003e#1464\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1478\"\u003e#1478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve input float dtype through resample() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1467\"\u003e#1467\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResample polish: fix cubic depth comment, tighten NaN threshold, add edge tests (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix dask aggregate boundary contamination and clean up bookkeeping (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1469\"\u003e#1469\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport 3D rasters, expose nodata, document target_resolution tuple in resample (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1466\"\u003e#1466\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCover cupy median/mode, dask+cupy, integer input, target_resolution tuple in resample tests (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1470\"\u003e#1470\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefresh transform and nodata attrs on resample output (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1465\"\u003e#1465\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInline dask aggregate kernel in resample (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1463\"\u003e#1463\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit fresh grid metadata and propagate _FillValue in reproject (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1458\"\u003e#1458\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePolish reproject/merge docstrings and cover Inf and parameter edge cases (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1459\"\u003e#1459\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBatch CuPy reductions and drop redundant copies in reproject (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd transform_precision parameter to merge() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1452\"\u003e#1452\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1456\"\u003e#1456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve non-spatial coords through reproject() and merge() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard _apply_vertical_shift against non-finite coords; add vertical CRS tests (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHonor per-raster nodata sentinels in merge() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1448\"\u003e#1448\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve input attrs through reproject() and merge() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix dask reproject dtype and same-CRS dask merge (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate raster inputs in reproject public APIs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1431\"\u003e#1431\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd memory guard and scalar validation to generate_terrain (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1443\"\u003e#1443\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate scalar parameters in hydro public APIs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1427\"\u003e#1427\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate mannings_n DataArray values in flood (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1437\"\u003e#1437\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1438\"\u003e#1438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd _validate_raster on secondary DataArray args in hydro (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1425\"\u003e#1425\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate grid/bounds/precision params in reproject (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1433\"\u003e#1433\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1434\"\u003e#1434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate cellsize in hydro public APIs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1429\"\u003e#1429\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1430\"\u003e#1430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate pathfinding inputs and cap waypoints (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1439\"\u003e#1439\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate raster/mask inputs in polygonize (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1441\"\u003e#1441\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd memory guard to flow_direction_mfd numpy/cupy backends (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1423\"\u003e#1423\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1424\"\u003e#1424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject NaN/Inf in reproject scalar inputs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1435\"\u003e#1435\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1436\"\u003e#1436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLazy assembly for hand_mfd dask path (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1416\"\u003e#1416\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1417\"\u003e#1417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn NaN from glcm_texture angle=None when no angle has valid pairs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1408\"\u003e#1408\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse ground distance for sky_view_factor horizon angle (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1407\"\u003e#1407\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1410\"\u003e#1410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExclude centre cell from morph_erode/dilate when kernel[centre]==0 (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1397\"\u003e#1397\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1398\"\u003e#1398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse sized slice in dask morph chunk writeback (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1399\"\u003e#1399\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1400\"\u003e#1400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMerge sink_d8 labels across dask tile boundaries (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1394\"\u003e#1394\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1395\"\u003e#1395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject complex dtypes in _validate_raster() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1384\"\u003e#1384\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1387\"\u003e#1387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject underflowing sigma_spatial in bilateral() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1390\"\u003e#1390\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1392\"\u003e#1392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse int64 row_ptr in _build_row_csr_numba (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1388\"\u003e#1388\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1391\"\u003e#1391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/blob/main/CHANGELOG.md\"\u003exarray-spatial's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eVersion 0.9.9 - 2026-05-05\u003c/h3\u003e\n\u003ch4\u003eBug fixes and improvements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAdd geotiff edge-case tests and integer-coord fallback (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1482\"\u003e#1482\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1492\"\u003e#1492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse synchronous dask scheduler for different-CRS merge parity test (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1495\"\u003e#1495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFetch COG tiles concurrently in HTTP path to mask RTT (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1487\"\u003e#1487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeotiff polish: validation, caching caps, parallelism thresholds, memory guards (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1488\"\u003e#1488\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1493\"\u003e#1493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRound-trip transform, crs, and tag metadata through to_geotiff/open_geotiff (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1484\"\u003e#1484\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1494\"\u003e#1494\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTighten geotiff reader: partial-tile shape check, ModelTransformation rotation guard (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1486\"\u003e#1486\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1491\"\u003e#1491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd geotiff writer test matrix (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1483\"\u003e#1483\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1490\"\u003e#1490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStream tile writes per dask chunk segment to bound peak memory in to_geotiff (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1485\"\u003e#1485\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1489\"\u003e#1489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd regression test for GPU pred=3 multi-sample TIFFs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1479\"\u003e#1479\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake cubic resample prefilter explicit so chunk seams stay sub-eps (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1464\"\u003e#1464\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1478\"\u003e#1478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve input float dtype through resample() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1467\"\u003e#1467\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1476\"\u003e#1476\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResample polish: fix cubic depth comment, tighten NaN threshold, add edge tests (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1475\"\u003e#1475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix dask aggregate boundary contamination and clean up bookkeeping (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1469\"\u003e#1469\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1477\"\u003e#1477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport 3D rasters, expose nodata, document target_resolution tuple in resample (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1466\"\u003e#1466\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1474\"\u003e#1474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCover cupy median/mode, dask+cupy, integer input, target_resolution tuple in resample tests (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1470\"\u003e#1470\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1473\"\u003e#1473\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefresh transform and nodata attrs on resample output (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1465\"\u003e#1465\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1472\"\u003e#1472\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInline dask aggregate kernel in resample (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1463\"\u003e#1463\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1468\"\u003e#1468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit fresh grid metadata and propagate _FillValue in reproject (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1458\"\u003e#1458\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1462\"\u003e#1462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePolish reproject/merge docstrings and cover Inf and parameter edge cases (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1459\"\u003e#1459\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1461\"\u003e#1461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBatch CuPy reductions and drop redundant copies in reproject (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd transform_precision parameter to merge() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1452\"\u003e#1452\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1456\"\u003e#1456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve non-spatial coords through reproject() and merge() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1455\"\u003e#1455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGuard _apply_vertical_shift against non-finite coords; add vertical CRS tests (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1453\"\u003e#1453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHonor per-raster nodata sentinels in merge() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1448\"\u003e#1448\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1449\"\u003e#1449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve input attrs through reproject() and merge() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1446\"\u003e#1446\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix dask reproject dtype and same-CRS dask merge (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate raster inputs in reproject public APIs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1431\"\u003e#1431\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd memory guard and scalar validation to generate_terrain (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1443\"\u003e#1443\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1444\"\u003e#1444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate scalar parameters in hydro public APIs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1427\"\u003e#1427\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate mannings_n DataArray values in flood (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1437\"\u003e#1437\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1438\"\u003e#1438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd _validate_raster on secondary DataArray args in hydro (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1425\"\u003e#1425\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate grid/bounds/precision params in reproject (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1433\"\u003e#1433\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1434\"\u003e#1434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate cellsize in hydro public APIs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1429\"\u003e#1429\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1430\"\u003e#1430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate pathfinding inputs and cap waypoints (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1439\"\u003e#1439\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1440\"\u003e#1440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate raster/mask inputs in polygonize (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1441\"\u003e#1441\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1442\"\u003e#1442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd memory guard to flow_direction_mfd numpy/cupy backends (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1423\"\u003e#1423\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1424\"\u003e#1424\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject NaN/Inf in reproject scalar inputs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1435\"\u003e#1435\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1436\"\u003e#1436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLazy assembly for hand_mfd dask path (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1416\"\u003e#1416\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1417\"\u003e#1417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn NaN from glcm_texture angle=None when no angle has valid pairs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1408\"\u003e#1408\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse ground distance for sky_view_factor horizon angle (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1407\"\u003e#1407\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1410\"\u003e#1410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExclude centre cell from morph_erode/dilate when kernel[centre]==0 (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1397\"\u003e#1397\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1398\"\u003e#1398\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse sized slice in dask morph chunk writeback (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1399\"\u003e#1399\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1400\"\u003e#1400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMerge sink_d8 labels across dask tile boundaries (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1394\"\u003e#1394\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1395\"\u003e#1395\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject complex dtypes in _validate_raster() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1384\"\u003e#1384\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1387\"\u003e#1387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject underflowing sigma_spatial in bilateral() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1390\"\u003e#1390\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1392\"\u003e#1392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse int64 row_ptr in _build_row_csr_numba (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1388\"\u003e#1388\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1391\"\u003e#1391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReject mixed-backend arrays in validate_arrays() (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1383\"\u003e#1383\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1386\"\u003e#1386\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/xarray-contrib/xarray-spatial/commit/f42106bb3ecd4b5754bbaff4c43f044b6afb0f8c\"\u003e\u003ccode\u003ef42106b\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for v0.9.9 release (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1496\"\u003e#1496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/6ece00dbc73efb1268f62ac0f1c681b3a7a58a16\"\u003e\u003ccode\u003e6ece00d\u003c/code\u003e\u003c/a\u003e Add geotiff edge-case tests and integer-coord fallback (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1482\"\u003e#1482\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1492\"\u003e#1492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/aa0d2644cb2da160005c2ad6f92cfcff7f596412\"\u003e\u003ccode\u003eaa0d264\u003c/code\u003e\u003c/a\u003e Use synchronous dask scheduler for different-CRS merge parity test (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1495\"\u003e#1495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/4943df96be98e5b256885a5a49dd732012d9b77a\"\u003e\u003ccode\u003e4943df9\u003c/code\u003e\u003c/a\u003e Fetch COG tiles concurrently in HTTP path to mask RTT (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1487\"\u003e#1487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/6cd69f1fef0e624d04047d9ecde8edaa690052da\"\u003e\u003ccode\u003e6cd69f1\u003c/code\u003e\u003c/a\u003e Geotiff polish: validation, caching caps, parallelism thresholds, memory guar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/69b873a382d8bcb2e1ede4622db28864ebbfb283\"\u003e\u003ccode\u003e69b873a\u003c/code\u003e\u003c/a\u003e Round-trip transform, crs, and tag metadata through to_geotiff/open_geotiff (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/a70a7737acb956c6ce6d484aea9cd93ddfafc34c\"\u003e\u003ccode\u003ea70a773\u003c/code\u003e\u003c/a\u003e Tighten geotiff reader: partial-tile shape check, ModelTransformation rotatio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/e2539005867d0cd8fcff2cd96e15a61c5e0c774f\"\u003e\u003ccode\u003ee253900\u003c/code\u003e\u003c/a\u003e Add geotiff writer test matrix (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1483\"\u003e#1483\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1490\"\u003e#1490\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/5ac78a729d077bf51fe43dd7f832e21dd44f7472\"\u003e\u003ccode\u003e5ac78a7\u003c/code\u003e\u003c/a\u003e Stream tile writes per dask chunk segment to bound peak memory in to_geotiff ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/commit/d9a3157fb4b22c64b43885d6cfb39aeb8a94b82e\"\u003e\u003ccode\u003ed9a3157\u003c/code\u003e\u003c/a\u003e Add regression test for GPU pred=3 multi-sample TIFFs (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1479\"\u003e#1479\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/xarray-contrib/xarray-spatial/issues/1481\"\u003e#1481\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/xarray-contrib/xarray-spatial/compare/v0.9.8...v0.9.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/Pirate-Weather/pirate-weather-code/pull/618","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pirate-Weather%2Fpirate-weather-code/issues/618","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/618/packages"}},{"old_version":"2025.12.0","new_version":"2026.2.0","update_type":"major","path":null,"pr_created_at":"2026-03-18T02:50:17.000Z","version_change":"2025.12.0 → 2026.2.0","issue":{"uuid":"4092363377","node_id":"PR_kwDOQ54Gg87LZ5jo","number":10,"state":"closed","title":"Bump the uv-dependencies group across 1 directory with 17 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-04-01T02:51:07.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-18T02:50:17.000Z","updated_at":"2026-04-01T02:51:08.000Z","time_to_close":1209650,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"uv-dependencies","update_count":17,"packages":[{"name":"google-adk","old_version":"1.21.0","new_version":"1.26.0","repository_url":"https://github.com/google/adk-python"},{"name":"opentelemetry-instrumentation-google-genai","old_version":"0.5b0","new_version":"0.7b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"gcsfs","old_version":"2025.12.0","new_version":"2026.2.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"google-cloud-logging","old_version":"3.13.0","new_version":"3.14.0","repository_url":"https://github.com/googleapis/google-cloud-python"},{"name":"pydantic-settings","old_version":"2.12.0","new_version":"2.13.1","repository_url":"https://github.com/pydantic/pydantic-settings"},{"name":"pytest-asyncio","old_version":"0.26.0","new_version":"1.3.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"build","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pypa/build"},{"name":"debugpy","old_version":"1.8.19","new_version":"1.8.20","repository_url":"https://github.com/microsoft/debugpy"},{"name":"greenlet","old_version":"3.3.0","new_version":"3.3.2","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"poethepoet","old_version":"0.40.0","new_version":"0.42.1","repository_url":"https://github.com/nat-n/poethepoet"},{"name":"pyright","old_version":"1.1.407","new_version":"1.1.408","repository_url":"https://github.com/RobertCraigie/pyright-python"},{"name":"ruff","old_version":"0.14.10","new_version":"0.15.5","repository_url":"https://github.com/astral-sh/ruff"},{"name":"tombi","old_version":"0.7.14","new_version":"0.9.4","repository_url":"https://github.com/tombi-toml/tombi"},{"name":"uv","old_version":"0.9.21","new_version":"0.10.9","repository_url":"https://github.com/astral-sh/uv"},{"name":"wemake-python-styleguide","old_version":"1.5.0","new_version":"1.6.1","repository_url":"https://github.com/wemake-services/wemake-python-styleguide"},{"name":"codespell","old_version":"2.4.1","new_version":"2.4.2","repository_url":"https://github.com/codespell-project/codespell"},{"name":"types-requests","old_version":"2.32.4.20250913","new_version":"2.32.4.20260107","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv-dependencies group with 17 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [google-adk](https://github.com/google/adk-python) | `1.21.0` | `1.26.0` |\n| [opentelemetry-instrumentation-google-genai](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.5b0` | `0.7b0` |\n| [gcsfs](https://github.com/fsspec/gcsfs) | `2025.12.0` | `2026.2.0` |\n| [google-cloud-logging](https://github.com/googleapis/google-cloud-python) | `3.13.0` | `3.14.0` |\n| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.12.0` | `2.13.1` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `0.26.0` | `1.3.0` |\n| [build](https://github.com/pypa/build) | `1.3.0` | `1.4.0` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.19` | `1.8.20` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.3.0` | `3.3.2` |\n| [poethepoet](https://github.com/nat-n/poethepoet) | `0.40.0` | `0.42.1` |\n| [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.407` | `1.1.408` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.10` | `0.15.5` |\n| [tombi](https://github.com/tombi-toml/tombi) | `0.7.14` | `0.9.4` |\n| [uv](https://github.com/astral-sh/uv) | `0.9.21` | `0.10.9` |\n| [wemake-python-styleguide](https://github.com/wemake-services/wemake-python-styleguide) | `1.5.0` | `1.6.1` |\n| [codespell](https://github.com/codespell-project/codespell) | `2.4.1` | `2.4.2` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.4.20250913` | `2.32.4.20260107` |\n\n\nUpdates `google-adk` from 1.21.0 to 1.26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.26.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.25.1...v1.26.0\"\u003e1.26.0\u003c/a\u003e (2026-02-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd intra-invocation compaction and token compaction pre-request (\u003ca href=\"https://github.com/google/adk-python/commit/485fcb84e3ca351f83416c012edcafcec479c1db\"\u003e485fcb8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003e--memory_service_uri\u003c/code\u003e in ADK CLI run command (\u003ca href=\"https://github.com/google/adk-python/commit/a7b509763c1732f0363e90952bb4c2672572d542\"\u003ea7b5097\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e/chat/completions\u003c/code\u003e integration to \u003ccode\u003eApigeeLlm\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/9c4c44536904f5cf3301a5abb910a5666344a8c5\"\u003e9c4c445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e/chat/completions\u003c/code\u003e streaming support to Apigee LLM (\u003ca href=\"https://github.com/google/adk-python/commit/121d27741684685c564e484704ae949c5f0807b1\"\u003e121d277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand LiteLlm supported models and add registry tests (\u003ca href=\"https://github.com/google/adk-python/commit/d5332f44347f44d60360e14205a2342a0c990d66\"\u003ed5332f4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eload_skill_from_dir()\u003c/code\u003e method (\u003ca href=\"https://github.com/google/adk-python/commit/9f7d5b3f1476234e552b783415527cc4bac55b39\"\u003e9f7d5b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAgent Skills spec compliance — validation, aliases, scripts, and auto-injection (\u003ca href=\"https://github.com/google/adk-python/commit/223d9a7ff52d8da702f1f436bd22e94ad78bd5da\"\u003e223d9a7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBigQuery ADK support for search catalog tool (\u003ca href=\"https://github.com/google/adk-python/commit/bef3f117b4842ce62760328304484cd26a1ec30a\"\u003ebef3f11\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake skill instruction optimizable and can adapt to user tasks (\u003ca href=\"https://github.com/google/adk-python/commit/21be6adcb86722a585b26f600c45c85e593b4ee0\"\u003e21be6ad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass trace context in MCP tool call's \u003ccode\u003e_meta\u003c/code\u003e field with OpenTelemetry propagator (\u003ca href=\"https://github.com/google/adk-python/commit/bcbfeba953d46fca731b11542a00103cef374e57\"\u003ebcbfeba\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Evals]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce User Personas to the ADK evaluation framework (\u003ca href=\"https://github.com/google/adk-python/commit/6a808c60b38ad7140ddeb222887c6accc63edce9\"\u003e6a808c6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Services]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd generate/create modes for Vertex AI Memory Bank writes (\u003ca href=\"https://github.com/google/adk-python/commit/811e50a0cbb181d502b9837711431ef78fca3f34\"\u003e811e50a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for memory consolidation via Vertex AI Memory Bank (\u003ca href=\"https://github.com/google/adk-python/commit/4a88804ec7d17fb4031b238c362f27d240df0a13\"\u003e4a88804\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[A2A]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd interceptor framework to \u003ccode\u003eA2aAgentExecutor\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/87fcd77caa9672f219c12e5a0e2ff65cbbaaf6f3\"\u003e87fcd77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Auth]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd native support for \u003ccode\u003eid_token\u003c/code\u003e in OAuth2 credentials (\u003ca href=\"https://github.com/google/adk-python/commit/33f7d118b377b60f998c92944d2673679fddbc6e\"\u003e33f7d11\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport ID token exchange in \u003ccode\u003eServiceAccountCredentialExchanger\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/7be90db24b41f1830e39ca3d7e15bf4dbfa5a304\"\u003e7be90db\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/4458\"\u003e#4458\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Integrations]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAgent Registry in ADK (\u003ca href=\"https://github.com/google/adk-python/commit/abaa92944c4cd43d206e2986d405d4ee07d45afe\"\u003eabaa929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd schema auto-upgrade, tool provenance, HITL tracing, and span hierarchy fix to BigQuery Agent Analytics plugin (\u003ca href=\"https://github.com/google/adk-python/commit/4260ef0c7c37ecdfea295fb0e1a933bb0df78bea\"\u003e4260ef0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange default BigQuery table ID and update docstring (\u003ca href=\"https://github.com/google/adk-python/commit/7557a929398ec2a1f946500d906cef5a4f86b5d1\"\u003e7557a92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Agent Registry to create AgentCard from info in get agents endpoint (\u003ca href=\"https://github.com/google/adk-python/commit/c33d614004a47d1a74951dd13628fd2300aeb9ef\"\u003ec33d614\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable dependency injection for agent loader in FastAPI app gen (\u003ca href=\"https://github.com/google/adk-python/commit/34da2d5b26e82f96f1951334fe974a0444843720\"\u003e34da2d5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd OpenAI strict JSON schema enforcement in LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/2dbd1f25bdb1d88a6873d824b81b3dd5243332a4\"\u003e2dbd1f2\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/4573\"\u003e#4573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd push notification config store to agent_to_a2a (\u003ca href=\"https://github.com/google/adk-python/commit/4ca904f11113c4faa3e17bb4a9662dca1f936e2e\"\u003e4ca904f\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/4126\"\u003e#4126\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.25.1...v1.26.0\"\u003e1.26.0\u003c/a\u003e (2026-02-26)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd intra-invocation compaction and token compaction pre-request (\u003ca href=\"https://github.com/google/adk-python/commit/485fcb84e3ca351f83416c012edcafcec479c1db\"\u003e485fcb8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003e--memory_service_uri\u003c/code\u003e in ADK CLI run command (\u003ca href=\"https://github.com/google/adk-python/commit/a7b509763c1732f0363e90952bb4c2672572d542\"\u003ea7b5097\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Models]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e/chat/completions\u003c/code\u003e integration to \u003ccode\u003eApigeeLlm\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/9c4c44536904f5cf3301a5abb910a5666344a8c5\"\u003e9c4c445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e/chat/completions\u003c/code\u003e streaming support to Apigee LLM (\u003ca href=\"https://github.com/google/adk-python/commit/121d27741684685c564e484704ae949c5f0807b1\"\u003e121d277\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand LiteLlm supported models and add registry tests (\u003ca href=\"https://github.com/google/adk-python/commit/d5332f44347f44d60360e14205a2342a0c990d66\"\u003ed5332f4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eload_skill_from_dir()\u003c/code\u003e method (\u003ca href=\"https://github.com/google/adk-python/commit/9f7d5b3f1476234e552b783415527cc4bac55b39\"\u003e9f7d5b3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAgent Skills spec compliance — validation, aliases, scripts, and auto-injection (\u003ca href=\"https://github.com/google/adk-python/commit/223d9a7ff52d8da702f1f436bd22e94ad78bd5da\"\u003e223d9a7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBigQuery ADK support for search catalog tool (\u003ca href=\"https://github.com/google/adk-python/commit/bef3f117b4842ce62760328304484cd26a1ec30a\"\u003ebef3f11\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake skill instruction optimizable and can adapt to user tasks (\u003ca href=\"https://github.com/google/adk-python/commit/21be6adcb86722a585b26f600c45c85e593b4ee0\"\u003e21be6ad\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass trace context in MCP tool call's \u003ccode\u003e_meta\u003c/code\u003e field with OpenTelemetry propagator (\u003ca href=\"https://github.com/google/adk-python/commit/bcbfeba953d46fca731b11542a00103cef374e57\"\u003ebcbfeba\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Evals]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIntroduce User Personas to the ADK evaluation framework (\u003ca href=\"https://github.com/google/adk-python/commit/6a808c60b38ad7140ddeb222887c6accc63edce9\"\u003e6a808c6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Services]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd generate/create modes for Vertex AI Memory Bank writes (\u003ca href=\"https://github.com/google/adk-python/commit/811e50a0cbb181d502b9837711431ef78fca3f34\"\u003e811e50a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for memory consolidation via Vertex AI Memory Bank (\u003ca href=\"https://github.com/google/adk-python/commit/4a88804ec7d17fb4031b238c362f27d240df0a13\"\u003e4a88804\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[A2A]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd interceptor framework to \u003ccode\u003eA2aAgentExecutor\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/87fcd77caa9672f219c12e5a0e2ff65cbbaaf6f3\"\u003e87fcd77\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Auth]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd native support for \u003ccode\u003eid_token\u003c/code\u003e in OAuth2 credentials (\u003ca href=\"https://github.com/google/adk-python/commit/33f7d118b377b60f998c92944d2673679fddbc6e\"\u003e33f7d11\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport ID token exchange in \u003ccode\u003eServiceAccountCredentialExchanger\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/7be90db24b41f1830e39ca3d7e15bf4dbfa5a304\"\u003e7be90db\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/4458\"\u003e#4458\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Integrations]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAgent Registry in ADK (\u003ca href=\"https://github.com/google/adk-python/commit/abaa92944c4cd43d206e2986d405d4ee07d45afe\"\u003eabaa929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd schema auto-upgrade, tool provenance, HITL tracing, and span hierarchy fix to BigQuery Agent Analytics plugin (\u003ca href=\"https://github.com/google/adk-python/commit/4260ef0c7c37ecdfea295fb0e1a933bb0df78bea\"\u003e4260ef0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange default BigQuery table ID and update docstring (\u003ca href=\"https://github.com/google/adk-python/commit/7557a929398ec2a1f946500d906cef5a4f86b5d1\"\u003e7557a92\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate Agent Registry to create AgentCard from info in get agents endpoint (\u003ca href=\"https://github.com/google/adk-python/commit/c33d614004a47d1a74951dd13628fd2300aeb9ef\"\u003ec33d614\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Web]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnable dependency injection for agent loader in FastAPI app gen (\u003ca href=\"https://github.com/google/adk-python/commit/34da2d5b26e82f96f1951334fe974a0444843720\"\u003e34da2d5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd OpenAI strict JSON schema enforcement in LiteLLM (\u003ca href=\"https://github.com/google/adk-python/commit/2dbd1f25bdb1d88a6873d824b81b3dd5243332a4\"\u003e2dbd1f2\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/4573\"\u003e#4573\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd push notification config store to agent_to_a2a (\u003ca href=\"https://github.com/google/adk-python/commit/4ca904f11113c4faa3e17bb4a9662dca1f936e2e\"\u003e4ca904f\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/4126\"\u003e#4126\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for injecting a custom google.genai.Client into Gemini models (\u003ca href=\"https://github.com/google/adk-python/commit/48105b49c5ab8e4719a66e7219f731b2cd293b00\"\u003e48105b4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/google/adk-python/issues/2560\"\u003e#2560\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/google/adk-python/commit/427a983b18088bdc22272d02714393b0a779ecdf\"\u003e\u003ccode\u003e427a983\u003c/code\u003e\u003c/a\u003e chore: update last-release-sha for next release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/934289ab88d63e875118ff85cc640e8597385625\"\u003e\u003ccode\u003e934289a\u003c/code\u003e\u003c/a\u003e chore(release/candidate): release 1.26.0 (\u003ca href=\"https://redirect.github.com/google/adk-python/issues/4610\"\u003e#4610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/ab32f33e7418d452e65cf6f5b6cbfe1371600323\"\u003e\u003ccode\u003eab32f33\u003c/code\u003e\u003c/a\u003e fix: Validate session before streaming instead of eagerly advancing the runne...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/40ec1343c2708e1cf0d39cd8b8a96f3729f843de\"\u003e\u003ccode\u003e40ec134\u003c/code\u003e\u003c/a\u003e fix: Re-export DEFAULT_SKILL_SYSTEM_INSTRUCTION to skills and skill/prompt.py...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/8f5428150d18ed732b66379c0acb806a9121c3cb\"\u003e\u003ccode\u003e8f54281\u003c/code\u003e\u003c/a\u003e fix: Update sample skills agent to use weather-skill instead of weather_skill\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/121d27741684685c564e484704ae949c5f0807b1\"\u003e\u003ccode\u003e121d277\u003c/code\u003e\u003c/a\u003e feat: Add /chat/completions streaming support to Apigee LLM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/48105b49c5ab8e4719a66e7219f731b2cd293b00\"\u003e\u003ccode\u003e48105b4\u003c/code\u003e\u003c/a\u003e fix: Add support for injecting a custom google.genai.Client into Gemini models\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/ee8d956413473d1bbbb025a470ad882c1487d8b8\"\u003e\u003ccode\u003eee8d956\u003c/code\u003e\u003c/a\u003e fix: Update agent_engine_sandbox_code_executor in ADK\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/7be90db24b41f1830e39ca3d7e15bf4dbfa5a304\"\u003e\u003ccode\u003e7be90db\u003c/code\u003e\u003c/a\u003e feat: Support ID token exchange in ServiceAccountCredentialExchanger\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/c615757ba12093ba4a2ba19bee3f498fef91584c\"\u003e\u003ccode\u003ec615757\u003c/code\u003e\u003c/a\u003e fix: Add support for injecting a custom google.genai.Client into Gemini models\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.21.0...v1.26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-google-genai` from 0.5b0 to 0.7b0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/releases\"\u003eopentelemetry-instrumentation-google-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopentelemetry-instrumentation-google-genai 0.7b0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug in how tokens are counted when using the streaming \u003ccode\u003egenerateContent\u003c/code\u003e method.  (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4152\"\u003e#4152\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egen_ai.tool.definitions\u003c/code\u003e attribute to \u003ccode\u003egen_ai.client.inference.operation.details\u003c/code\u003e log event (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4142\"\u003e#4142\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egen_ai.tool_definitions\u003c/code\u003e to completion hook (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4181\"\u003e#4181\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eopentelemetry-instrumentation-google-genai 0.6b0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable the addition of custom attributes to the \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e span via the Context API. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3961\"\u003e#3961\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEnable the addition of custom attributes to \u003ccode\u003egen_ai.client.inference.operation.details\u003c/code\u003e log events (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4103\"\u003e#4103\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-google-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this file.\u003c/p\u003e\n\u003cp\u003eThe format is based on \u003ca href=\"https://keepachangelog.com/en/1.0.0/\"\u003eKeep a Changelog\u003c/a\u003e,\nand this project adheres to \u003ca href=\"https://semver.org/spec/v2.0.0.html\"\u003eSemantic Versioning\u003c/a\u003e.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThe following components are released independently and maintain individual CHANGELOG files.\nUse \u003ca href=\"https://github.com/search?q=repo%3Aopen-telemetry%2Fopentelemetry-python-contrib+path%3A**%2FCHANGELOG.md\u0026amp;type=code\"\u003ethis search for a list of all CHANGELOG.md files in this repo\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eUnreleased\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-confluent-kafka\u003c/code\u003e: Loosen confluent-kafka upper bound to \u0026lt;3.0.0\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4289\"\u003e#4289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation\u003c/code\u003e: Add support for wrapt 2.x\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4203\"\u003e#4203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-psycopg2\u003c/code\u003e: Add parameter \u003ccode\u003ecapture_parameters\u003c/code\u003e to instrumentor.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4212\"\u003e#4212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix intermittent \u003ccode\u003eCore Contrib Test\u003c/code\u003e CI failures caused by GitHub git CDN SHA propagation lag by installing core packages from the already-checked-out local copy instead of a second git clone\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4305\"\u003e#4305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't import module in unwrap if not already imported\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4321\"\u003e#4321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-logging\u003c/code\u003e: Add recursion guard in LoggingHandler.emit to prevent deadlock\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4302\"\u003e#4302\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-boto\u003c/code\u003e: Remove instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4303\"\u003e#4303\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 1.40.0/0.61b0 (2026-03-04)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 3.14 support\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4193\"\u003e#4193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-asgi\u003c/code\u003e: Add exemplars for \u003ccode\u003ehttp.server.request.duration\u003c/code\u003e and \u003ccode\u003ehttp.server.duration\u003c/code\u003e metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3739\"\u003e#3739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-wsgi\u003c/code\u003e: Add exemplars for \u003ccode\u003ehttp.server.request.duration\u003c/code\u003e and \u003ccode\u003ehttp.server.duration\u003c/code\u003e metrics\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3739\"\u003e#3739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-aiohttp-client\u003c/code\u003e: add ability to capture custom headers\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3988\"\u003e#3988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-instrumentation-requests\u003c/code\u003e: add ability to capture custom headers\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3987\"\u003e#3987\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gcsfs` from 2025.12.0 to 2026.2.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/427354db3d4833cc7623ce359c398610f6601219\"\u003e\u003ccode\u003e427354d\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/757\"\u003e#757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/6e4efb8ea553ee5d92b295bfe8a359f79b550358\"\u003e\u003ccode\u003e6e4efb8\u003c/code\u003e\u003c/a\u003e Remove cache_type option from ExtendedGCSFSFileSystem._open (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/754\"\u003e#754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9f20436237d8f9ffe3ae6ad7fe0181c23ad905d6\"\u003e\u003ccode\u003e9f20436\u003c/code\u003e\u003c/a\u003e Fix for recent breaking changes introduced in python sdk  (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/755\"\u003e#755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/98af30083031c22c7781934a8263f3b5b778fc64\"\u003e\u003ccode\u003e98af300\u003c/code\u003e\u003c/a\u003e Adds test coverage check in repo (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/68\"\u003e#68\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/752\"\u003e#752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/fcefacb3401f72cf5cc3ff4ae1392d7464c10a6e\"\u003e\u003ccode\u003efcefacb\u003c/code\u003e\u003c/a\u003e Add the new readahead_v2 cache (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/750\"\u003e#750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e0c0a9fe1c4190aaf71200eb9fa0958d74a267f7\"\u003e\u003ccode\u003ee0c0a9f\u003c/code\u003e\u003c/a\u003e rm override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/742\"\u003e#742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/73c37dcd4370591dca143851454ba7d13960371c\"\u003e\u003ccode\u003e73c37dc\u003c/code\u003e\u003c/a\u003e Ignore benchmark folders (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/748\"\u003e#748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/a586d0b70ca0400eca4164ea9962fe2bd30a2a73\"\u003e\u003ccode\u003ea586d0b\u003c/code\u003e\u003c/a\u003e adds info() integration tests for HNS (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/749\"\u003e#749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/57baa54db055dca11f061ce0c471c1fb18863ba8\"\u003e\u003ccode\u003e57baa54\u003c/code\u003e\u003c/a\u003e change errors to warning in ZonalFile commit (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/747\"\u003e#747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b43958088bf5ccfe5552e79cfe6f1f8570b848c3\"\u003e\u003ccode\u003eb439580\u003c/code\u003e\u003c/a\u003e find Method Implementation for HNS Buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/735\"\u003e#735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.12.0...2026.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-cloud-logging` from 3.13.0 to 3.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-cloud-python/releases\"\u003egoogle-cloud-logging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-cloud-logging: v3.14.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-logging-v3.13.0...google-cloud-logging-v3.14.0\"\u003ev3.14.0\u003c/a\u003e (2026-03-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport mTLS certificates when available (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/1071\"\u003e#1071\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c73e4390\"\u003ec73e4390\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/googleapis/google-cloud-python/commit/b3d80f4c303f7bb767a33324270d8b6b35eb68a6\"\u003e\u003ccode\u003eb3d80f4\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260305T222444Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/16038\"\u003e#16038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/22601c79a6c0d6c470d338245ee247e9320b733f\"\u003e\u003ccode\u003e22601c7\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260305T173911Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/16034\"\u003e#16034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4049c9b6d963fc1bb0083970373aee34d930d3dd\"\u003e\u003ccode\u003e4049c9b\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260305T181227Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/16036\"\u003e#16036\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6120fb0db084f5e8d1502fb1bb37594ac9976f6e\"\u003e\u003ccode\u003e6120fb0\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260304T083838Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/16023\"\u003e#16023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/4937235ef66c792cf7f3ecc8ab027c98c7a6f7e6\"\u003e\u003ccode\u003e4937235\u003c/code\u003e\u003c/a\u003e chore: librarian generate pull request: 20260304T223823Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/16025\"\u003e#16025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/6876f64b10f05f42553858c009c9ce262cbda177\"\u003e\u003ccode\u003e6876f64\u003c/code\u003e\u003c/a\u003e chore: librarian onboard pull request: 20260304T233807Z (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/16026\"\u003e#16026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/3ed2d6804bcacfdfd74e223d30492d90e606ea98\"\u003e\u003ccode\u003e3ed2d68\u003c/code\u003e\u003c/a\u003e fix: gracefully fallback if workload fields are missing from cert config (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/16\"\u003e#16\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/99fa08ec6230245597b06293004fb7b8dd8e598a\"\u003e\u003ccode\u003e99fa08e\u003c/code\u003e\u003c/a\u003e chore: add metadata for hypercomputecluster and change default to v1 (\u003ca href=\"https://redirect.github.com/googleapis/google-cloud-python/issues/16021\"\u003e#16021\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/fc72e93e2b951dbc419937393d932a8e175fa2f9\"\u003e\u003ccode\u003efc72e93\u003c/code\u003e\u003c/a\u003e chore(migration): Migrate code from googleapis/google-auth-library-python int...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/23ad4c8cfe8031c4ab0e0800b400970132d2ef51\"\u003e\u003ccode\u003e23ad4c8\u003c/code\u003e\u003c/a\u003e tests: fix test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-cloud-logging-v3.13.0...google-cloud-logging-v3.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pydantic-settings` from 2.12.0 to 2.13.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pydantic/pydantic-settings/releases\"\u003epydantic-settings's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.13.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Deterministic alias selection when using validate_by_name by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/707\"\u003epydantic/pydantic-settings#707\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deep merge functionality to config file sources by \u003ca href=\"https://github.com/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for AWS Secrets Manager VersionId parameter by \u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: Return \u003ccode\u003eNone\u003c/code\u003e for inaccessible GCP Secret Manager secrets by \u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBugfix for cli_kebab_case=\u0026quot;all\u0026quot; and CliImplicitFlag[bool] by \u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnpack type alisases when looking for \u003ccode\u003eNoDecode\u003c/code\u003e by \u003ca href=\"https://github.com/tselepakis\"\u003e\u003ccode\u003e@​tselepakis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/695\"\u003epydantic/pydantic-settings#695\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCliToggleFlag and CliDualFlag by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/717\"\u003epydantic/pydantic-settings#717\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix for CLI duplicate enum field values. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/722\"\u003epydantic/pydantic-settings#722\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixed load nested config from env by \u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd non-Path files support (for example Traversable) and open files using Path.open method by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd one more traversable test by \u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/725\"\u003epydantic/pydantic-settings#725\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI fix fox external list args. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/727\"\u003epydantic/pydantic-settings#727\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: handle case-insensitive retrieval in GoogleSecretManagerSettingsSource by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/730\"\u003epydantic/pydantic-settings#730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI test fixes for help text formatting. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/735\"\u003epydantic/pydantic-settings#735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid conflicts with the \u003ccode\u003eNAME\u003c/code\u003e environment variable in WSL by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: When restoring init kwargs, use deterministic order by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/746\"\u003epydantic/pydantic-settings#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd env_prefix_target by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/749\"\u003epydantic/pydantic-settings#749\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e(default: …)\u003c/code\u003e in the help message for \u003ccode\u003eCliToggleFlag\u003c/code\u003e by \u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/740\"\u003epydantic/pydantic-settings#740\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for CLI serialize styles. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/755\"\u003epydantic/pydantic-settings#755\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for overriding default help on CLI internal parser. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/758\"\u003epydantic/pydantic-settings#758\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI format_help method support by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/759\"\u003epydantic/pydantic-settings#759\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(gcp): support SecretVersion annotation for per-field secret versioning by \u003ca href=\"https://github.com/ezwiefel\"\u003e\u003ccode\u003e@​ezwiefel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/763\"\u003epydantic/pydantic-settings#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003esnake_case_conversion\u003c/code\u003e with \u003ccode\u003eenv_prefix\u003c/code\u003e for Azure Key Vault source by \u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Only override preferred_key when no value was found by \u003ca href=\"https://github.com/chbndrhnns\"\u003e\u003ccode\u003e@​chbndrhnns\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/767\"\u003epydantic/pydantic-settings#767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/768\"\u003epydantic/pydantic-settings#768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI coerce numeric types. by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/769\"\u003epydantic/pydantic-settings#769\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI Union Discriminator Choices in Help by \u003ca href=\"https://github.com/kschwab\"\u003e\u003ccode\u003e@​kschwab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/764\"\u003epydantic/pydantic-settings#764\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) by \u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release 2.13.0 by \u003ca href=\"https://github.com/hramezani\"\u003e\u003ccode\u003e@​hramezani\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/777\"\u003epydantic/pydantic-settings#777\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/pmeier\"\u003e\u003ccode\u003e@​pmeier\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/698\"\u003epydantic/pydantic-settings#698\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jcyamacho\"\u003e\u003ccode\u003e@​jcyamacho\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/708\"\u003epydantic/pydantic-settings#708\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/zaphod72\"\u003e\u003ccode\u003e@​zaphod72\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/712\"\u003epydantic/pydantic-settings#712\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Digity101\"\u003e\u003ccode\u003e@​Digity101\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/702\"\u003epydantic/pydantic-settings#702\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Sube-py\"\u003e\u003ccode\u003e@​Sube-py\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/723\"\u003epydantic/pydantic-settings#723\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mahenzon\"\u003e\u003ccode\u003e@​mahenzon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/724\"\u003epydantic/pydantic-settings#724\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kzrnm\"\u003e\u003ccode\u003e@​kzrnm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/747\"\u003epydantic/pydantic-settings#747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cstarkers\"\u003e\u003ccode\u003e@​cstarkers\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/762\"\u003epydantic/pydantic-settings#762\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hugo-romero-mm\"\u003e\u003ccode\u003e@​hugo-romero-mm\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/pull/773\"\u003epydantic/pydantic-settings#773\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0\"\u003ehttps://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/e87d12df0f42f7f72a3eb6d830cfbfb1d68b4496\"\u003e\u003ccode\u003ee87d12d\u003c/code\u003e\u003c/a\u003e v2.13.1 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/790\"\u003e#790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/acf8c14f5ec314799f5bd0d3f6a1591c4ed2ec97\"\u003e\u003ccode\u003eacf8c14\u003c/code\u003e\u003c/a\u003e Fix JSON decoding for parameterized PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/780\"\u003e#780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/58b236a36473e01bfe42e5f75d39d46721e0593d\"\u003e\u003ccode\u003e58b236a\u003c/code\u003e\u003c/a\u003e Fix AttributeError with nested env vars for dict fields (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/785\"\u003e#785\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/786\"\u003e#786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/4933f06402ed55e32bcdcefd6c8f59ffe1fefd24\"\u003e\u003ccode\u003e4933f06\u003c/code\u003e\u003c/a\u003e Fix CLI parsing error for set field types since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/787\"\u003e#787\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/788\"\u003e#788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/bd0ebe6215cf215d716e33d833cc2589a1d00a17\"\u003e\u003ccode\u003ebd0ebe6\u003c/code\u003e\u003c/a\u003e Fix RecursionError with self-referential models in CliApp (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/783\"\u003e#783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/eb7840e9f59a7969b23afdbcc4e5081e037736d8\"\u003e\u003ccode\u003eeb7840e\u003c/code\u003e\u003c/a\u003e Fix regression for bool fields since 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/784\"\u003e#784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/198e71cf0cd570501535de7ae93a70953150f073\"\u003e\u003ccode\u003e198e71c\u003c/code\u003e\u003c/a\u003e Prepare release 2.13.0 (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/777\"\u003e#777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/de71e84057b63b251ec84883b5e2ae886f82084f\"\u003e\u003ccode\u003ede71e84\u003c/code\u003e\u003c/a\u003e Add nested path support for yaml_config_section (fixes \u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/772\"\u003e#772\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/773\"\u003e#773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/0f8f951b89b137bd563ce74dac016ba2c4cdc7a2\"\u003e\u003ccode\u003e0f8f951\u003c/code\u003e\u003c/a\u003e CLI Union Discriminator Choices in Help (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/764\"\u003e#764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pydantic/pydantic-settings/commit/ce9804c4620d38f0c3b3c1e3ebe10d934fd4ba2e\"\u003e\u003ccode\u003ece9804c\u003c/code\u003e\u003c/a\u003e CLI coerce numeric types. (\u003ca href=\"https://redirect.github.com/pydantic/pydantic-settings/issues/769\"\u003e#769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pydantic/pydantic-settings/compare/v2.12.0...v2.13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 0.26.0 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio 1.3.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.3.0\"\u003e1.3.0\u003c/a\u003e - 2025-11-10\u003c/h1\u003e\n\u003ch2\u003eRemoved\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1278\"\u003e#1278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for pytest 9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTested Python versions include free threaded Python 3.14t (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1274\"\u003e#1274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTests are run in the same pytest process, instead of spawning a subprocess with \u003ccode\u003epytest.Pytester.runpytest_subprocess\u003c/code\u003e. This prevents the test suite from accidentally using a system installation of pytest-asyncio, which could result in test errors. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1275\"\u003e#1275\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.2.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.2.0\"\u003e1.2.0\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e--asyncio-debug\u003c/code\u003e CLI option and \u003ccode\u003easyncio_debug\u003c/code\u003e configuration option to enable asyncio debug mode for the default event loop. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/980\"\u003e#980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003epytest.UsageError\u003c/code\u003e for invalid configuration values of \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e and \u003ccode\u003easyncio_default_test_loop_scope\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompatibility with the Pyright type checker (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRuntimeError: There is no current event loop in thread 'MainThread'\u003c/code\u003e when any test unsets the event loop (such as when using \u003ccode\u003easyncio.run\u003c/code\u003e and \u003ccode\u003easyncio.Runner\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1177\"\u003e#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecation warning when decorating an asynchronous fixture with \u003ccode\u003e@pytest.fixture\u003c/code\u003e in [strict]{.title-ref} mode. The warning message now refers to the correct package. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the minimum required version of tox to v4.28. This change is only relevant if you use the \u003ccode\u003etox.ini\u003c/code\u003e file provided by pytest-asyncio to run tests.\u003c/li\u003e\n\u003cli\u003eExtend dependency on typing-extensions\u0026gt;=4.12 from Python\u0026lt;3.10 to Python\u0026lt;3.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.1.1\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/v1.1.1\"\u003ev1.1.1\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cp\u003e- Addresses a build problem with setuptoos-scm \u0026gt;= 9 caused by invalid setuptools-scm configuration in pytest-asyncio. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1192\"\u003e#1192\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003epytest-asyncio 1.1.0\u003c/h2\u003e\n\u003ch1\u003eAdded\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePropagation of ContextVars from async fixtures to other fixtures and tests on Python 3.10 and older (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/127\"\u003e#127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCancellation of tasks when the \u003ccode\u003eloop_scope\u003c/code\u003e ends (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/200\"\u003e#200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarning when the current event loop is closed by a test\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixed\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/2e9695fcf8c5c514f30f57b7d14ab83846357b96\"\u003e\u003ccode\u003e2e9695f\u003c/code\u003e\u003c/a\u003e docs: Compile changelog for v1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/dd0e9ba3fa672fd6bf375004319742f8d3a50e12\"\u003e\u003ccode\u003edd0e9ba\u003c/code\u003e\u003c/a\u003e docs: Reference correct issue in news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4c31abe5bf46bca3c9bdc7b18405f3deba4145d0\"\u003e\u003ccode\u003e4c31abe\u003c/code\u003e\u003c/a\u003e Build(deps): Bump nh3 from 0.3.1 to 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/13e94770d7bb146c329ae0e02486c0a6b38f3772\"\u003e\u003ccode\u003e13e9477\u003c/code\u003e\u003c/a\u003e Link to migration guides from changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4d2cf3c36f47d7c4d563d401cdf229b35da34fbe\"\u003e\u003ccode\u003e4d2cf3c\u003c/code\u003e\u003c/a\u003e tests: handle Python 3.14 DefaultEventLoopPolicy deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ee3549b6efb729b934e370e2be8040b25b034010\"\u003e\u003ccode\u003eee3549b\u003c/code\u003e\u003c/a\u003e test: Remove obsolete test for the event_loop fixture.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7a67c82c5ae548f0968438e9dfa0f282d51c4597\"\u003e\u003ccode\u003e7a67c82\u003c/code\u003e\u003c/a\u003e tests: Fix failing test by preventing warning conversion to error.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a17b689a750d05b6fc9369f5fb2b06baaba83536\"\u003e\u003ccode\u003ea17b689\u003c/code\u003e\u003c/a\u003e test: add pytest config to isolated test directories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/18afc9df5a3153dc1fbdc4e11a56517ef95480df\"\u003e\u003ccode\u003e18afc9d\u003c/code\u003e\u003c/a\u003e fix(tests): replace runpytest_subprocess with runpytest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/cdc6bd1de75b4738289eafd546f5e27a0bfd3b41\"\u003e\u003ccode\u003ecdc6bd1\u003c/code\u003e\u003c/a\u003e Add support for pytest 9 and drop Python 3.9 support\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v0.26.0...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/releases\"\u003ebuild's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/940\"\u003e#940\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/943\"\u003e#943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1 (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/942\"\u003e#942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/950\"\u003e#950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/921\"\u003e#921\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/blob/main/CHANGELOG.rst\"\u003ebuild's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e###########\nChangelog\n###########\u003c/p\u003e\n\u003chr /\u003e\n\u003cp\u003e1.4.0 (2026-01-08)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag (:pr:\u003ccode\u003e947\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e (:pr:\u003ccode\u003e940\u003c/code\u003e, :pr:\u003ccode\u003e943\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable (:pr:\u003ccode\u003e971\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1 (:pr:\u003ccode\u003e960\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already (:pr:\u003ccode\u003e962\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review (:pr:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e (:pr:\u003ccode\u003e950\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy (:pr:\u003ccode\u003e944\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e (:pr:\u003ccode\u003e945\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name (PR :pr:\u003ccode\u003e970\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed (PR :pr:\u003ccode\u003e921\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e1.3.0 (2025-08-01)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--config-json\u003c/code\u003e (PR :pr:\u003ccode\u003e916\u003c/code\u003e, fixes issue :issue:\u003ccode\u003e900\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDrop Python 3.8 (PR :pr:\u003ccode\u003e891\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eTest on Python 3.14, colorful help on 3.14+ (PR :pr:\u003ccode\u003e895\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eModuleNotFoundError\u003c/code\u003e when \u003ccode\u003epip\u003c/code\u003e is not installed (PR :pr:\u003ccode\u003e898\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDisable use of \u003ccode\u003epip install --python\u003c/code\u003e for debundled pip (PR :pr:\u003ccode\u003e861\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eDon't pass no-wheel to virtualenv if it would warn (PR :pr:\u003ccode\u003e892\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize our tests to run faster (PR :pr:\u003ccode\u003e871\u003c/code\u003e, :pr:\u003ccode\u003e872\u003c/code\u003e, :pr:\u003ccode\u003e738\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAllow running our tests without virtualenv (PR :pr:\u003ccode\u003e911\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix issues in our tests (PR :pr:\u003ccode\u003e824\u003c/code\u003e, :pr:\u003ccode\u003e918\u003c/code\u003e, :pr:\u003ccode\u003e870\u003c/code\u003e, :pr:\u003ccode\u003e915\u003c/code\u003e, :pr:\u003ccode\u003e862\u003c/code\u003e, :pr:\u003ccode\u003e863\u003c/code\u003e, :pr:\u003ccode\u003e899\u003c/code\u003e, :pr:\u003ccode\u003e896\u003c/code\u003e,\n:pr:\u003ccode\u003e854\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse SPDX identifiers for our license metadata (PR :pr:\u003ccode\u003e914\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse dependency-groups for our development (PR :pr:\u003ccode\u003e880\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMention conda and update uv mention in README/docs (PR :pr:\u003ccode\u003e842\u003c/code\u003e, :pr:\u003ccode\u003e816\u003c/code\u003e, :pr:\u003ccode\u003e917\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e1.2.2 (2024-09-06)\u003c/p\u003e\n\u003chr /\u003e\n\u003cul\u003e\n\u003cli\u003eAdd editable to \u003ccode\u003ebuilder.get_requires_for_build\u003c/code\u003e's static types (PR :pr:\u003ccode\u003e764\u003c/code\u003e, fixes issue :issue:\u003ccode\u003e763\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eInclude artifact attestations in our release (PR :pr:\u003ccode\u003e782\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix typing compatibility with typed \u003ccode\u003epyproject-hooks\u003c/code\u003e (PR :pr:\u003ccode\u003e788\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMark more tests with \u003ccode\u003enetwork\u003c/code\u003e (PR :pr:\u003ccode\u003e808\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd more intersphinx links to docs (PR :pr:\u003ccode\u003e804\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003euv\u003c/code\u003e optional for tests (PR :pr:\u003ccode\u003e807\u003c/code\u003e and :pr:\u003ccode\u003e813\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/54f238d1664124e06a68c6c22fd5b1418fa5feb2\"\u003e\u003ccode\u003e54f238d\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.0 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/f219276a6e2c6c8222780ba518ce52444a91deaa\"\u003e\u003ccode\u003ef219276\u003c/code\u003e\u003c/a\u003e docs: first argument for _has_dependency is a name (\u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/7adb29e69d2744acc5391d3c58d234388a9ac0ed\"\u003e\u003ccode\u003e7adb29e\u003c/code\u003e\u003c/a\u003e fix: support UV environment variable (\u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/a40623b20de5d29c80b569283191d65e630f4fc0\"\u003e\u003ccode\u003ea40623b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/attest-build-provenance in the actions group (\u003ca href=\"https://redirect.github.com/pypa/build/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/c8fae3459dbe4456d82d705c6a3f1869b0b26e5c\"\u003e\u003ccode\u003ec8fae34\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories (\u003ca href=\"https://redirect.github.com/pypa/build/issues/965\"\u003e#965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/ed9c379f51abca7c0c0ae20bee66aa548d597dc3\"\u003e\u003ccode\u003eed9c379\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/0e44fd22f35c7b3c14d6410bbd8912dafba0e4a9\"\u003e\u003ccode\u003e0e44fd2\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003equiet\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/60e15ed4cb31209f0e07de750c831cdb3911c62c\"\u003e\u003ccode\u003e60e15ed\u003c/code\u003e\u003c/a\u003e chore: color defaults to True in 3.14 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/0486d9df2e6caf7c04a3991824093eb6a16e7f29\"\u003e\u003ccode\u003e0486d9d\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories (\u003ca href=\"https://redirect.github.com/pypa/build/issues/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/393b775480523247c1ad07b8da9bb8c23c5cd0fa\"\u003e\u003ccode\u003e393b775\u003c/code\u003e\u003c/a\u003e MNT: remove workaround for 3.14b1 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.3.0...1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `debugpy` from 1.8.19 to 1.8.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/debugpy/releases\"\u003edebugpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003edebugpy v1.8.20\u003c/h2\u003e\n\u003cp\u003eFixes for:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eannotate in 3.14 causing exceptions: \u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1971\"\u003emicrosoft/debugpy#1971\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse remote_exec if available: \u003ca href=\"https://github.com/microsoft/debugpy/commit/c7e86a1954381ceadb2ea398fc60079deef91358\"\u003ehttps://github.com/microsoft/debugpy/commit/c7e86a1954381ceadb2ea398fc60079deef91358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport more architectures: \u003ca href=\"https://github.com/microsoft/debugpy/commit/1bbecdf366016c58e62a076b46d4f3c00aea097f\"\u003ehttps://github.com/microsoft/debugpy/commit/1bbecdf366016c58e62a076b46d4f3c00aea097f\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eInfrastructure work:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport devcontainers for development: \u003ca href=\"https://github.com/microsoft/debugpy/commit/7dbc2292b1a23e5ae80db67a1b25f002bd104776\"\u003ehttps://github.com/microsoft/debugpy/commit/7dbc2292b1a23e5ae80db67a1b25f002bd104776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/rameshvarun\"\u003e\u003ccode\u003e@​rameshvarun\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Xeonacid\"\u003e\u003ccode\u003e@​Xeonacid\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/pdepetro\"\u003e\u003ccode\u003e@​pdepetro\u003c/code\u003e\u003c/a\u003e for the commits\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/microsoft/debugpy/commit/7ac3d1f2c65ccf6b2e62a762863093f0242179f0\"\u003e\u003ccode\u003e7ac3d1f\u003c/code\u003e\u003c/a\u003e Try 6 on this file (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1995\"\u003e#1995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/e1646137a8346292a528b2899c7c8a8fe8d60224\"\u003e\u003ccode\u003ee164613\u003c/code\u003e\u003c/a\u003e O365 new advice (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1994\"\u003e#1994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/4cbf8b1ce99a856b032470c19c3261195e137ca2\"\u003e\u003ccode\u003e4cbf8b1\u003c/code\u003e\u003c/a\u003e Try another suppression (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1993\"\u003e#1993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/ea9fcaeb59482ad97c51cbe584247f30a0c7ae2d\"\u003e\u003ccode\u003eea9fcae\u003c/code\u003e\u003c/a\u003e Try a different way to suppress binskim problems (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1992\"\u003e#1992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/ea2746aafcd830a96a2144c3f636ba587f90a15d\"\u003e\u003ccode\u003eea2746a\u003c/code\u003e\u003c/a\u003e Add LTCG flags to compile_windows.bat for BinSkim BA6006 compliance (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1991\"\u003e#1991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/7dbc2292b1a23e5ae80db67a1b25f002bd104776\"\u003e\u003ccode\u003e7dbc229\u003c/code\u003e\u003c/a\u003e Added devcontainer specification (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1989\"\u003e#1989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/bb450fc27202cdf0676343dc0150be962b627233\"\u003e\u003ccode\u003ebb450fc\u003c/code\u003e\u003c/a\u003e Fix: Treat \u003cstrong\u003eannotate\u003c/strong\u003e functions as library code in Python 3.14+ (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/1bbecdf366016c58e62a076b46d4f3c00aea097f\"\u003e\u003ccode\u003e1bbecdf\u003c/code\u003e\u003c/a\u003e Better experience for unsupported arch (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1984\"\u003e#1984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/c7e86a1954381ceadb2ea398fc60079deef91358\"\u003e\u003ccode\u003ec7e86a1\u003c/code\u003e\u003c/a\u003e Use sys.remote_exec() to attach to pid, if available (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1986\"\u003e#1986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/microsoft/debugpy/compare/v1.8.19...v1.8.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `greenlet` from 3.3.0 to 3.3.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst\"\u003egreenlet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.3.2 (2026-02-20)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix a crash on Python 3.10 if there are active greenlets during\ninterpreter shutdown. See \u003ccode\u003ePR 495 \u0026lt;https://github.com/python-greenlet/greenlet/pull/495\u0026gt;\u003c/code\u003e_ by Nicolas\nBouvrette.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.3.1 (2026-01-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePublish Windows ARM binary wheels, where available.\u003c/li\u003e\n\u003cli\u003eFix compilation for 3.14t on Windows.\u003c/li\u003e\n\u003cli\u003ePublish Windows 3.14t binary wheels for Intel.\u003c/li\u003e\n\u003cli\u003eSwitch from Appveyor for Windows to Github Actions.\u003c/li\u003e\n\u003cli\u003eFix compilation on MIPS with GCC 15 and binutils 2.45. See \u003ccode\u003ePR 487 by Rosen Penev \u0026lt;https://github.com/python-greenlet/greenlet/pull/487\u0026gt;\u003c/code\u003e_. Note that\nthis is not a platform tested by this project's CI.\u003c/li\u003e\n\u003cli\u003eMove most project metadata into the static \u003ccode\u003epyproject.toml\u003c/code\u003e file.\nThis updates licensing information to use the modern\n\u003ccode\u003eLicense-Expression\u003c/code\u003e field. See \u003ccode\u003ePR 480 by mrbean-bremen \u0026lt;https://github.com/python-greenlet/greenlet/pull/480/\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/a62f331fd74d0d17ab64b509ad9fb685d5cfeaec\"\u003e\u003ccode\u003ea62f331\u003c/code\u003e\u003c/a\u003e Preparing release 3.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/c73a2c6d055b8328e204b9b0b7597d3c92b3ad18\"\u003e\u003ccode\u003ec73a2c6\u003c/code\u003e\u003c/a\u003e Pull in change note for 3.2.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/4eb47c89d1936f15055119f3452e2a92cfb77653\"\u003e\u003ccode\u003e4eb47c8\u003c/code\u003e\u003c/a\u003e test_untracked_memory_doesnt_increase_unfinished_thread_dealloc_in_main: A ch...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/53ac405e7ea428dce99317765dd7ef3e68d59f60\"\u003e\u003ccode\u003e53ac405\u003c/code\u003e\u003c/a\u003e Add change note for \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/495\"\u003e#495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d5b85158f65488e54f6c63bc8aa0ea4a8c0b7094\"\u003e\u003ccode\u003ed5b8515\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/495\"\u003e#495\u003c/a\u003e from nbouvrette/fix/safe-finalization-py310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/e0625d78d3b4dc76756fb6a506a02ef6a98b6fb3\"\u003e\u003ccode\u003ee0625d7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/494\"\u003e#494\u003c/a\u003e from daniel7an/fix/issue-492-spdx-license\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/292e126fb3ee3bf4a639100d5791fd76dc560eeb\"\u003e\u003ccode\u003e292e126\u003c/code\u003e\u003c/a\u003e Fix SIGSEGV/SIGABRT during interpreter shutdown on Python \u0026lt; 3.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/77e65f089aae346e363dc2fa7bd78e00f83104a5\"\u003e\u003ccode\u003e77e65f0\u003c/code\u003e\u003c/a\u003e Fix SPDX license identifier: Python-2.0 → PSF-2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d4606efcf80c7fc81473cb173b9d6745572de090\"\u003e\u003ccode\u003ed4606ef\u003c/code\u003e\u003c/a\u003e leak tests: do a better job skipping if uss isn't available. Fixes \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/485\"\u003e#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/74a11b86b495d35b60967565319c36e648dfd7e5\"\u003e\u003ccode\u003e74a11b8\u003c/code\u003e\u003c/a\u003e Back to development: 3.3.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-greenlet/greenlet/compare/3.3.0...3.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `poethepoet` from 0.40.0 to 0.42.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nat-n/poethepoet/releases\"\u003epoethepoet's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.42.1\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd exact option for uv executor by \u003ca href=\"https://github.com/charlesbmi\"\u003e\u003ccode\u003e@​charlesbmi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/365\"\u003enat-n/poethepoet#365\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eCompletion script fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eIsolate zsh completion task options from global options by \u003ca href=\"https://github.com/nat-n\"\u003e\u003ccode\u003e@​nat-n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/364\"\u003enat-n/poethepoet#364\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix completion script edge case handling by \u003ca href=\"https://github.com/nat-n\"\u003e\u003ccode\u003e@​nat-n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/366\"\u003enat-n/poethepoet#366\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\nYou must follow \u003ca href=\"https://poethepoet.natn.io/installation.html#enable-tab-completion-for-your-shell\"\u003ethe instructions to (re)install the completion script for your preferred shell environment\u003c/a\u003e to benefit from the completion script fixes\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charlesbmi\"\u003e\u003ccode\u003e@​charlesbmi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/365\"\u003enat-n/poethepoet#365\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/nat-n/poethepoet/compare/v0.42.0...v0.42.1\"\u003ehttps://github.com/nat-n/poethepoet/compare/v0.42.0...v0.42.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.42.0\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBetter zsh completion caaching with max hits per cache and proper TTL before refresh by \u003ca href=\"https://github.com/nat-n\"\u003e\u003ccode\u003e@​nat-n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/360\"\u003enat-n/poethepoet#360\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOfficially Support Python 3.14 by \u003ca href=\"https://github.com/gruebel\"\u003e\u003ccode\u003e@​gruebel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/362\"\u003enat-n/poethepoet#362\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd completion script for PowerShell by \u003ca href=\"https://github.com/NSPC911\"\u003e\u003ccode\u003e@​NSPC911\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/358\"\u003enat-n/poethepoet#358\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\nYou must follow \u003ca href=\"https://poethepoet.natn.io/installation.html#enable-tab-completion-for-your-shell\"\u003ethe instructions to (re)install the completion script for your preferred shell environment\u003c/a\u003e to benefit from the enhancements for zsh or PowerShell\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gruebel\"\u003e\u003ccode\u003e@​gruebel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/362\"\u003enat-n/poethepoet#362\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NSPC911\"\u003e\u003ccode\u003e@​NSPC911\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/358\"\u003enat-n/poethepoet#358\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/nat-n/poethepoet/compare/v0.41.0...v0.42.0\"\u003ehttps://github.com/nat-n/poethepoet/compare/v0.41.0...v0.42.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.41.0\u003c/h2\u003e\n\u003ch2\u003eEnhancements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFull shell completions for global and task arguments in zsh and bash by \u003ca href=\"https://github.com/nat-n\"\u003e\u003ccode\u003e@​nat-n\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nat-n/poethepoet/pull/355\"\u003enat-n/poethepoet#355\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/nat-n/poethepoet/compare/v0.40.0...v0.41.0\"\u003ehttps://github.com/nat-n/poethepoet/compare/v0.40.0...v0.41.0\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\nYou must follow \u003ca href=\"https://poethepoet.natn.io/installation.html#enable-tab-completion-for-your-shell\"\u003ethe instructions to (re)install the completion script for your preferred shell environment\u003c/a\u003e to benefit from the revamped tab completion covering task arguments.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nat-n/poethepoet/commit/49792724526b9e740f3c76a6ece2e1039d76b8ea\"\u003e\u003ccode\u003e4979272\u003c/code\u003e\u003c/a\u003e Bump version to 0.42.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nat-n/poethepoet/commit/1f40807b1791d5a71d0952eb0ad0da70cea4cfc2\"\u003e\u003ccode\u003e1f40807\u003c/code\u003e\u003c/a\u003e fix: completion script edge case handling (\u003ca href=\"https://redirect.github.com/nat-n/poethepoet/issues/366\"\u003e#366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nat-n/poethepoet/commit/c67a8586791f2bbcb7d9f85f024f1b77d949734e\"\u003e\u003ccode\u003ec67a858\u003c/code\u003e\u003c/a\u003e feat(uv): add exact option for uv executor (\u003ca href=\"https://redirect.github.com/nat-n/poethepoet/issues/365\"\u003e#365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nat-n/poethepoet/commit/8f4d5c4c4735645275ccbe367bb56ab728c5b4ee\"\u003e\u003ccode\u003e8f4d5c4\u003c/code\u003e\u003c/a\u003e fix: isolate zsh completion task options from global options (\u003ca href=\"https://redirect.github.com/nat-n/poethepoet/issues/364\"\u003e#364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nat-n/poethepoet/commit/b1589da0a5f00f5a2a4d2deef1dbdf368d4e0697\"\u003e\u003ccode\u003eb1589da\u003c/code\u003e\u003c/a\u003e Bump version to 0.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nat-n/poethe...\n\n_Description has been truncated_","html_url":"https://github.com/donvargax/adk-ddd/pull/10","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/donvargax%2Fadk-ddd/issues/10","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/10/packages"}},{"old_version":"2025.5.1","new_version":"2026.2.0","update_type":"major","path":"/backend/pipelines/unified_pipeline","pr_created_at":"2026-03-16T18:55:20.000Z","version_change":"2025.5.1 → 2026.2.0","issue":{"uuid":"4084220183","node_id":"PR_kwDONQJ6D87LArJ-","number":738,"state":"closed","title":"Bump gcsfs from 2025.5.1 to 2026.2.0 in /backend/pipelines/unified_pipeline","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-03-17T05:25:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-16T18:55:20.000Z","updated_at":"2026-03-17T05:25:56.000Z","time_to_close":37826,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"gcsfs","old_version":"2025.5.1","new_version":"2026.2.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":"/backend/pipelines/unified_pipeline","ecosystem":"pip"},"body":"Bumps [gcsfs](https://github.com/fsspec/gcsfs) from 2025.5.1 to 2026.2.0.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/427354db3d4833cc7623ce359c398610f6601219\"\u003e\u003ccode\u003e427354d\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/757\"\u003e#757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/6e4efb8ea553ee5d92b295bfe8a359f79b550358\"\u003e\u003ccode\u003e6e4efb8\u003c/code\u003e\u003c/a\u003e Remove cache_type option from ExtendedGCSFSFileSystem._open (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/754\"\u003e#754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9f20436237d8f9ffe3ae6ad7fe0181c23ad905d6\"\u003e\u003ccode\u003e9f20436\u003c/code\u003e\u003c/a\u003e Fix for recent breaking changes introduced in python sdk  (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/755\"\u003e#755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/98af30083031c22c7781934a8263f3b5b778fc64\"\u003e\u003ccode\u003e98af300\u003c/code\u003e\u003c/a\u003e Adds test coverage check in repo (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/68\"\u003e#68\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/752\"\u003e#752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/fcefacb3401f72cf5cc3ff4ae1392d7464c10a6e\"\u003e\u003ccode\u003efcefacb\u003c/code\u003e\u003c/a\u003e Add the new readahead_v2 cache (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/750\"\u003e#750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e0c0a9fe1c4190aaf71200eb9fa0958d74a267f7\"\u003e\u003ccode\u003ee0c0a9f\u003c/code\u003e\u003c/a\u003e rm override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/742\"\u003e#742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/73c37dcd4370591dca143851454ba7d13960371c\"\u003e\u003ccode\u003e73c37dc\u003c/code\u003e\u003c/a\u003e Ignore benchmark folders (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/748\"\u003e#748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/a586d0b70ca0400eca4164ea9962fe2bd30a2a73\"\u003e\u003ccode\u003ea586d0b\u003c/code\u003e\u003c/a\u003e adds info() integration tests for HNS (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/749\"\u003e#749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/57baa54db055dca11f061ce0c471c1fb18863ba8\"\u003e\u003ccode\u003e57baa54\u003c/code\u003e\u003c/a\u003e change errors to warning in ZonalFile commit (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/747\"\u003e#747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b43958088bf5ccfe5552e79cfe6f1f8570b848c3\"\u003e\u003ccode\u003eb439580\u003c/code\u003e\u003c/a\u003e find Method Implementation for HNS Buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/735\"\u003e#735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.5.1...2026.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gcsfs\u0026package-manager=uv\u0026previous-version=2025.5.1\u0026new-version=2026.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Klimabevaegelsen/landbruget.dk/pull/738","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Klimabevaegelsen%2Flandbruget.dk/issues/738","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/738/packages"}},{"old_version":"2025.5.1","new_version":"2026.2.0","update_type":"major","path":"/backend/pipelines/arbejdstilsynet_inspections","pr_created_at":"2026-03-16T18:47:58.000Z","version_change":"2025.5.1 → 2026.2.0","issue":{"uuid":"4084187992","node_id":"PR_kwDONQJ6D87LAkr-","number":708,"state":"closed","title":"Bump gcsfs from 2025.5.1 to 2026.2.0 in /backend/pipelines/arbejdstilsynet_inspections","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-03-17T05:29:17.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-16T18:47:58.000Z","updated_at":"2026-03-17T05:30:33.000Z","time_to_close":38479,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"gcsfs","old_version":"2025.5.1","new_version":"2026.2.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":"/backend/pipelines/arbejdstilsynet_inspections","ecosystem":"pip"},"body":"Bumps [gcsfs](https://github.com/fsspec/gcsfs) from 2025.5.1 to 2026.2.0.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/427354db3d4833cc7623ce359c398610f6601219\"\u003e\u003ccode\u003e427354d\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/757\"\u003e#757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/6e4efb8ea553ee5d92b295bfe8a359f79b550358\"\u003e\u003ccode\u003e6e4efb8\u003c/code\u003e\u003c/a\u003e Remove cache_type option from ExtendedGCSFSFileSystem._open (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/754\"\u003e#754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9f20436237d8f9ffe3ae6ad7fe0181c23ad905d6\"\u003e\u003ccode\u003e9f20436\u003c/code\u003e\u003c/a\u003e Fix for recent breaking changes introduced in python sdk  (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/755\"\u003e#755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/98af30083031c22c7781934a8263f3b5b778fc64\"\u003e\u003ccode\u003e98af300\u003c/code\u003e\u003c/a\u003e Adds test coverage check in repo (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/68\"\u003e#68\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/752\"\u003e#752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/fcefacb3401f72cf5cc3ff4ae1392d7464c10a6e\"\u003e\u003ccode\u003efcefacb\u003c/code\u003e\u003c/a\u003e Add the new readahead_v2 cache (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/750\"\u003e#750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e0c0a9fe1c4190aaf71200eb9fa0958d74a267f7\"\u003e\u003ccode\u003ee0c0a9f\u003c/code\u003e\u003c/a\u003e rm override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/742\"\u003e#742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/73c37dcd4370591dca143851454ba7d13960371c\"\u003e\u003ccode\u003e73c37dc\u003c/code\u003e\u003c/a\u003e Ignore benchmark folders (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/748\"\u003e#748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/a586d0b70ca0400eca4164ea9962fe2bd30a2a73\"\u003e\u003ccode\u003ea586d0b\u003c/code\u003e\u003c/a\u003e adds info() integration tests for HNS (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/749\"\u003e#749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/57baa54db055dca11f061ce0c471c1fb18863ba8\"\u003e\u003ccode\u003e57baa54\u003c/code\u003e\u003c/a\u003e change errors to warning in ZonalFile commit (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/747\"\u003e#747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/b43958088bf5ccfe5552e79cfe6f1f8570b848c3\"\u003e\u003ccode\u003eb439580\u003c/code\u003e\u003c/a\u003e find Method Implementation for HNS Buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/735\"\u003e#735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.5.1...2026.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gcsfs\u0026package-manager=uv\u0026previous-version=2025.5.1\u0026new-version=2026.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Klimabevaegelsen/landbruget.dk/pull/708","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Klimabevaegelsen%2Flandbruget.dk/issues/708","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/708/packages"}},{"old_version":"2025.12.0","new_version":"2026.1.0","update_type":"major","path":null,"pr_created_at":"2026-02-11T02:50:49.000Z","version_change":"2025.12.0 → 2026.1.0","issue":{"uuid":"3924462684","node_id":"PR_kwDOQ54Gg87C5Xdh","number":5,"state":"closed","title":"Bump the uv-dependencies group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-18T02:49:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-11T02:50:49.000Z","updated_at":"2026-02-18T02:49:57.000Z","time_to_close":604746,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"uv-dependencies","update_count":13,"packages":[{"name":"google-adk","old_version":"1.21.0","new_version":"1.23.0","repository_url":"https://github.com/google/adk-python"},{"name":"opentelemetry-instrumentation-google-genai","old_version":"0.5b0","new_version":"0.6b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"gcsfs","old_version":"2025.12.0","new_version":"2026.1.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"protobuf","old_version":"6.33.2","new_version":"6.33.5","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"pytest-asyncio","old_version":"0.26.0","new_version":"1.3.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"build","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pypa/build"},{"name":"debugpy","old_version":"1.8.19","new_version":"1.8.20","repository_url":"https://github.com/microsoft/debugpy"},{"name":"greenlet","old_version":"3.3.0","new_version":"3.3.1","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"pyright","old_version":"1.1.407","new_version":"1.1.408","repository_url":"https://github.com/RobertCraigie/pyright-python"},{"name":"ruff","old_version":"0.14.10","new_version":"0.15.0","repository_url":"https://github.com/astral-sh/ruff"},{"name":"tombi","old_version":"0.7.14","new_version":"0.7.26","repository_url":"https://github.com/tombi-toml/tombi"},{"name":"uv","old_version":"0.9.21","new_version":"0.9.29","repository_url":"https://github.com/astral-sh/uv"},{"name":"types-requests","old_version":"2.32.4.20250913","new_version":"2.32.4.20260107","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv-dependencies group with 13 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [google-adk](https://github.com/google/adk-python) | `1.21.0` | `1.23.0` |\n| [opentelemetry-instrumentation-google-genai](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.5b0` | `0.6b0` |\n| [gcsfs](https://github.com/fsspec/gcsfs) | `2025.12.0` | `2026.1.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.2` | `6.33.5` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `0.26.0` | `1.3.0` |\n| [build](https://github.com/pypa/build) | `1.3.0` | `1.4.0` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.19` | `1.8.20` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.3.0` | `3.3.1` |\n| [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.407` | `1.1.408` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.10` | `0.15.0` |\n| [tombi](https://github.com/tombi-toml/tombi) | `0.7.14` | `0.7.26` |\n| [uv](https://github.com/astral-sh/uv) | `0.9.21` | `0.9.29` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.4.20250913` | `2.32.4.20260107` |\n\n\nUpdates `google-adk` from 1.21.0 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.22.1...v1.23.0\"\u003e1.23.0\u003c/a\u003e (2026-01-22)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking: Use OpenTelemetry for BigQuery plugin tracing, replacing custom \u003ccode\u003eContextVar\u003c/code\u003e implementation (\u003ca href=\"https://github.com/google/adk-python/commit/ab89d1283430041afb303834749869e9ee331721\"\u003eab89d12\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support to automatically create a session if one does not exist (\u003ca href=\"https://github.com/google/adk-python/commit/8e69a58df4eadeccbb100b7264bb518a46b61fd7\"\u003e8e69a58\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e@experimental\u003c/code\u003e decorator from \u003ccode\u003eAgentEngineSandboxCodeExecutor\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/135f7633253f6a415302142abc3579b664601d5b\"\u003e135f763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--disable_features\u003c/code\u003e CLI option to override default feature enable state (\u003ca href=\"https://github.com/google/adk-python/commit/53b67ce6340f3f3f8c3d732f9f7811e445c76359\"\u003e53b67ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel_to_cloud\u003c/code\u003e flag to \u003ccode\u003eadk deploy agent_engine\u003c/code\u003e command (\u003ca href=\"https://github.com/google/adk-python/commit/21f63f66ee424501d9a70806277463ef718ae843\"\u003e21f63f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eis_computer_use\u003c/code\u003e field to agent information in \u003ccode\u003eadk-web\u003c/code\u003e server (\u003ca href=\"https://github.com/google/adk-python/commit/5923da786eb1aaef6f0bcbc6adc906cbc8bf9b36\"\u003e5923da7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003ethinking_config\u003c/code\u003e in \u003ccode\u003egenerate_content_config\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/e162bb8832a806e2380048e39165bf837455f88c\"\u003ee162bb8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConvert A2UI messages between A2A \u003ccode\u003eDataPart\u003c/code\u003e metadata and ADK events (\u003ca href=\"https://github.com/google/adk-python/commit/1133ce219c5a7a9a85222b03e348ba6b13830c8f\"\u003e1133ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--enable_features\u003c/code\u003e CLI option to override default feature enable state (\u003ca href=\"https://github.com/google/adk-python/commit/79fcddb39f71a4c1342e63b4d67832b3eccb2652\"\u003e79fcddb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd flush mechanism to \u003ccode\u003eBigQueryAgentAnalyticsPlugin\u003c/code\u003e to ensure pending log events are written to BigQuery (\u003ca href=\"https://github.com/google/adk-python/commit/9579bea05d946b3d8b4bfec35e510725dd371224\"\u003e9579bea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow Google Search tool to set a different model (\u003ca href=\"https://github.com/google/adk-python/commit/b57a3d43e4656f5a3c5db53addff02b67d1fde26\"\u003eb57a3d4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport authentication for MCP tool listing (\u003ca href=\"https://github.com/google/adk-python/commit/e3d542a5ba3d357407f8cd29cfdd722f583c8564\"\u003ee3d542a\u003c/a\u003e \u003ca href=\"https://github.com/google/adk-python/commit/19315fe557039fa8bf446525a4830b1c9f40cba9\"\u003e19315fe\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003ebase_retrieval_tool\u003c/code\u003e, \u003ccode\u003eload_artifacts_tool\u003c/code\u003e, and \u003ccode\u003eload_memory_tool\u003c/code\u003e declarations when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/69ad605bc4bbe9a4f018127fd3625169ee70488e\"\u003e69ad605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003eIntegrationConnectorTool\u003c/code\u003e declaration when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/2ed686527ac75ff64128ce7d9b1a3befc2b37c64\"\u003e2ed6865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStart and close \u003ccode\u003eClientSession\u003c/code\u003e in a single task in \u003ccode\u003eMcpSessionManager\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/cce430da799766686e65f6cae02ba64e916d5c8a\"\u003ecce430d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003eRestApiTool\u003c/code\u003e declaration when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/a5f0d333d7f26f2966ed511d5d9def7a1933f0c2\"\u003ea5f0d33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Evals]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003eadk eval\u003c/code\u003e CLI to consume custom metrics by adding \u003ccode\u003eCustomMetricEvaluator\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/ea0934b9934c1fefd129a1026d6af369f126870e\"\u003eea0934b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eEvalConfig\u003c/code\u003e and \u003ccode\u003eEvalMetric\u003c/code\u003e data models to support custom metrics (\u003ca href=\"https://github.com/google/adk-python/commit/6d2f33a59cfba358dd758378290125fc2701c411\"\u003e6d2f33a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Observability]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd minimal \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e spans and logs for non-Gemini inference and when \u003ccode\u003eopentelemetry-inference-google-genai\u003c/code\u003e dependency is missing (\u003ca href=\"https://github.com/google/adk-python/commit/935c279f8281bde99224f03d936b8abe51cbabfc\"\u003e935c279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Integrations]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnhance \u003ccode\u003eTraceManager\u003c/code\u003e asynchronous safety, enrich BigQuery plugin logging, and fix serialization (\u003ca href=\"https://github.com/google/adk-python/commit/a4116a6cbfadc161982af5dabd55a711d79348b7\"\u003ea4116a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Live]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePersist user input content to session in live mode (\u003ca href=\"https://github.com/google/adk-python/commit/a04828dd8a848482acbd48acc7da432d0d2cb0aa\"\u003ea04828d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecursively extract input/output schema for AgentTool (\u003ca href=\"https://github.com/google/adk-python/commit/bf2b56de6d0052e40b6d871b2d22c56e9225e145\"\u003ebf2b56d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eYield buffered \u003ccode\u003efunction_call\u003c/code\u003e and \u003ccode\u003efunction_response\u003c/code\u003e events during live streaming (\u003ca href=\"https://github.com/google/adk-python/commit/7b25b8fb1daf54d7694bf405d545d46d2c012d2b\"\u003e7b25b8f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eauthlib\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e dependency versions (\u003ca href=\"https://github.com/google/adk-python/commit/7955177fb28b8e5dc19aae8be94015a7b5d9882a\"\u003e7955177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eLITELLM_MODE\u003c/code\u003e to \u003ccode\u003ePRODUCTION\u003c/code\u003e before importing LiteLLM to prevent implicit \u003ccode\u003e.env\u003c/code\u003e file loading (\u003ca href=\"https://github.com/google/adk-python/commit/215c2f506e21a3d8c39551b80f6356943ecae320\"\u003e215c2f5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRedact sensitive information from URIs in logs (\u003ca href=\"https://github.com/google/adk-python/commit/5257869d91a77ebd1381538a85e7fdc3a600da90\"\u003e5257869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle asynchronous driver URLs in the migration tool (\u003ca href=\"https://github.com/google/adk-python/commit/4b29d15b3e5df65f3503daffa6bc7af85159507b\"\u003e4b29d15\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove custom metadata from A2A response events (\u003ca href=\"https://github.com/google/adk-python/commit/81eaeb5eba6d40cde0cf6147d96921ed1bf7bb31\"\u003e81eaeb5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.22.1...v1.23.0\"\u003e1.23.0\u003c/a\u003e (2026-01-22)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking: Use OpenTelemetry for BigQuery plugin tracing, replacing custom \u003ccode\u003eContextVar\u003c/code\u003e implementation (\u003ca href=\"https://github.com/google/adk-python/commit/ab89d1283430041afb303834749869e9ee331721\"\u003eab89d12\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support to automatically create a session if one does not exist (\u003ca href=\"https://github.com/google/adk-python/commit/8e69a58df4eadeccbb100b7264bb518a46b61fd7\"\u003e8e69a58\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e@experimental\u003c/code\u003e decorator from \u003ccode\u003eAgentEngineSandboxCodeExecutor\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/135f7633253f6a415302142abc3579b664601d5b\"\u003e135f763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--disable_features\u003c/code\u003e CLI option to override default feature enable state (\u003ca href=\"https://github.com/google/adk-python/commit/53b67ce6340f3f3f8c3d732f9f7811e445c76359\"\u003e53b67ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel_to_cloud\u003c/code\u003e flag to \u003ccode\u003eadk deploy agent_engine\u003c/code\u003e command (\u003ca href=\"https://github.com/google/adk-python/commit/21f63f66ee424501d9a70806277463ef718ae843\"\u003e21f63f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eis_computer_use\u003c/code\u003e field to agent information in \u003ccode\u003eadk-web\u003c/code\u003e server (\u003ca href=\"https://github.com/google/adk-python/commit/5923da786eb1aaef6f0bcbc6adc906cbc8bf9b36\"\u003e5923da7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003ethinking_config\u003c/code\u003e in \u003ccode\u003egenerate_content_config\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/e162bb8832a806e2380048e39165bf837455f88c\"\u003ee162bb8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConvert A2UI messages between A2A \u003ccode\u003eDataPart\u003c/code\u003e metadata and ADK events (\u003ca href=\"https://github.com/google/adk-python/commit/1133ce219c5a7a9a85222b03e348ba6b13830c8f\"\u003e1133ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--enable_features\u003c/code\u003e CLI option to override default feature enable state (\u003ca href=\"https://github.com/google/adk-python/commit/79fcddb39f71a4c1342e63b4d67832b3eccb2652\"\u003e79fcddb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd flush mechanism to \u003ccode\u003eBigQueryAgentAnalyticsPlugin\u003c/code\u003e to ensure pending log events are written to BigQuery (\u003ca href=\"https://github.com/google/adk-python/commit/9579bea05d946b3d8b4bfec35e510725dd371224\"\u003e9579bea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow Google Search tool to set a different model (\u003ca href=\"https://github.com/google/adk-python/commit/b57a3d43e4656f5a3c5db53addff02b67d1fde26\"\u003eb57a3d4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport authentication for MCP tool listing (\u003ca href=\"https://github.com/google/adk-python/commit/e3d542a5ba3d357407f8cd29cfdd722f583c8564\"\u003ee3d542a\u003c/a\u003e \u003ca href=\"https://github.com/google/adk-python/commit/19315fe557039fa8bf446525a4830b1c9f40cba9\"\u003e19315fe\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003ebase_retrieval_tool\u003c/code\u003e, \u003ccode\u003eload_artifacts_tool\u003c/code\u003e, and \u003ccode\u003eload_memory_tool\u003c/code\u003e declarations when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/69ad605bc4bbe9a4f018127fd3625169ee70488e\"\u003e69ad605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003eIntegrationConnectorTool\u003c/code\u003e declaration when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/2ed686527ac75ff64128ce7d9b1a3befc2b37c64\"\u003e2ed6865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStart and close \u003ccode\u003eClientSession\u003c/code\u003e in a single task in \u003ccode\u003eMcpSessionManager\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/cce430da799766686e65f6cae02ba64e916d5c8a\"\u003ecce430d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003eRestApiTool\u003c/code\u003e declaration when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/a5f0d333d7f26f2966ed511d5d9def7a1933f0c2\"\u003ea5f0d33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Evals]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003eadk eval\u003c/code\u003e CLI to consume custom metrics by adding \u003ccode\u003eCustomMetricEvaluator\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/ea0934b9934c1fefd129a1026d6af369f126870e\"\u003eea0934b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eEvalConfig\u003c/code\u003e and \u003ccode\u003eEvalMetric\u003c/code\u003e data models to support custom metrics (\u003ca href=\"https://github.com/google/adk-python/commit/6d2f33a59cfba358dd758378290125fc2701c411\"\u003e6d2f33a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Observability]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd minimal \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e spans and logs for non-Gemini inference and when \u003ccode\u003eopentelemetry-inference-google-genai\u003c/code\u003e dependency is missing (\u003ca href=\"https://github.com/google/adk-python/commit/935c279f8281bde99224f03d936b8abe51cbabfc\"\u003e935c279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Integrations]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnhance \u003ccode\u003eTraceManager\u003c/code\u003e asynchronous safety, enrich BigQuery plugin logging, and fix serialization (\u003ca href=\"https://github.com/google/adk-python/commit/a4116a6cbfadc161982af5dabd55a711d79348b7\"\u003ea4116a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Live]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePersist user input content to session in live mode (\u003ca href=\"https://github.com/google/adk-python/commit/a04828dd8a848482acbd48acc7da432d0d2cb0aa\"\u003ea04828d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecursively extract input/output schema for AgentTool (\u003ca href=\"https://github.com/google/adk-python/commit/bf2b56de6d0052e40b6d871b2d22c56e9225e145\"\u003ebf2b56d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eYield buffered \u003ccode\u003efunction_call\u003c/code\u003e and \u003ccode\u003efunction_response\u003c/code\u003e events during live streaming (\u003ca href=\"https://github.com/google/adk-python/commit/7b25b8fb1daf54d7694bf405d545d46d2c012d2b\"\u003e7b25b8f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eauthlib\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e dependency versions (\u003ca href=\"https://github.com/google/adk-python/commit/7955177fb28b8e5dc19aae8be94015a7b5d9882a\"\u003e7955177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eLITELLM_MODE\u003c/code\u003e to \u003ccode\u003ePRODUCTION\u003c/code\u003e before importing LiteLLM to prevent implicit \u003ccode\u003e.env\u003c/code\u003e file loading (\u003ca href=\"https://github.com/google/adk-python/commit/215c2f506e21a3d8c39551b80f6356943ecae320\"\u003e215c2f5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRedact sensitive information from URIs in logs (\u003ca href=\"https://github.com/google/adk-python/commit/5257869d91a77ebd1381538a85e7fdc3a600da90\"\u003e5257869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle asynchronous driver URLs in the migration tool (\u003ca href=\"https://github.com/google/adk-python/commit/4b29d15b3e5df65f3503daffa6bc7af85159507b\"\u003e4b29d15\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove custom metadata from A2A response events (\u003ca href=\"https://github.com/google/adk-python/commit/81eaeb5eba6d40cde0cf6147d96921ed1bf7bb31\"\u003e81eaeb5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eNone\u003c/code\u003e inferences in eval results (\u003ca href=\"https://github.com/google/adk-python/commit/7d4326c3606a7ff2ba3c0fdef08d4f6af52ee71e\"\u003e7d4326c\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/google/adk-python/commit/7cf1e447d7f7d66d68a3b8c4bd9a77c5973fe6f7\"\u003e\u003ccode\u003e7cf1e44\u003c/code\u003e\u003c/a\u003e chore: Bumps version to v1.23.0 and updates CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3f1b0d0957e7c92c9f6ae82c0c7a14856c2f5744\"\u003e\u003ccode\u003e3f1b0d0\u003c/code\u003e\u003c/a\u003e chore: minor fix for DebugLoggingPlugin example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/935c279f8281bde99224f03d936b8abe51cbabfc\"\u003e\u003ccode\u003e935c279\u003c/code\u003e\u003c/a\u003e feat(otel): add minimal \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e spans and logs for no...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/82fa10b71e037b565cb407c82e9e908432dab0ff\"\u003e\u003ccode\u003e82fa10b\u003c/code\u003e\u003c/a\u003e feat: add new conversational analytics api tool set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/bf2b56de6d0052e40b6d871b2d22c56e9225e145\"\u003e\u003ccode\u003ebf2b56d\u003c/code\u003e\u003c/a\u003e fix: recursively extract input/output schema for AgentTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3d96b7883bf12f82e5906b2bbde42803f57f1ee6\"\u003e\u003ccode\u003e3d96b78\u003c/code\u003e\u003c/a\u003e chore: Pin litellm dependency to versions below 1.80.17\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/91ec80c606b812a6e92e62056e3ee546db1414ff\"\u003e\u003ccode\u003e91ec80c\u003c/code\u003e\u003c/a\u003e docs: fixing multiple typos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/295b34558774d1f64022009980e3edd8eb79527b\"\u003e\u003ccode\u003e295b345\u003c/code\u003e\u003c/a\u003e chore:  Filter out \u003ccode\u003eadk_request_input\u003c/code\u003e event from content list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b57a3d43e4656f5a3c5db53addff02b67d1fde26\"\u003e\u003ccode\u003eb57a3d4\u003c/code\u003e\u003c/a\u003e feat: Allow google search tool to set different model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/9579bea05d946b3d8b4bfec35e510725dd371224\"\u003e\u003ccode\u003e9579bea\u003c/code\u003e\u003c/a\u003e feat(plugins): Add flush mechanism to BigQueryAgentAnalyticsPlugin\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.21.0...v1.23.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-google-genai` from 0.5b0 to 0.6b0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/releases\"\u003eopentelemetry-instrumentation-google-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopentelemetry-instrumentation-google-genai 0.6b0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable the addition of custom attributes to the \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e span via the Context API. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3961\"\u003e#3961\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEnable the addition of custom attributes to \u003ccode\u003egen_ai.client.inference.operation.details\u003c/code\u003e log events (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4103\"\u003e#4103\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-google-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.6b0 (2020-03-30)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-ext-flask\u003c/code\u003e Add an entry_point to be usable in auto-instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/327\"\u003e#327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-ext-grpc\u003c/code\u003e Add gRPC integration\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/476\"\u003e#476\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\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gcsfs` from 2025.12.0 to 2026.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/3ed414aa2c5e5a78556726be11d663ff346bab40\"\u003e\u003ccode\u003e3ed414a\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/bca0139193d8dd8103fc52bfa5caf2ffd2172e6a\"\u003e\u003ccode\u003ebca0139\u003c/code\u003e\u003c/a\u003e Implement async upload methods and support async mode in ExtendedGcsfs (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9d64f5c5c74c59c840f440f82288f047bf557a3f\"\u003e\u003ccode\u003e9d64f5c\u003c/code\u003e\u003c/a\u003e mkdir override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/4f9f4ac35f1df42dacfb56f9be200730058fd5ef\"\u003e\u003ccode\u003e4f9f4ac\u003c/code\u003e\u003c/a\u003e reformat benchmark readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/cdd65f5808f6864bd8bed08e7bb7a9359ab0cbe7\"\u003e\u003ccode\u003ecdd65f5\u003c/code\u003e\u003c/a\u003e Adds GCSFS Microbenchmarks (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/722\"\u003e#722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c8ed96a77d027115b436cd9062825f703955b891\"\u003e\u003ccode\u003ec8ed96a\u003c/code\u003e\u003c/a\u003e ✨ Support alternative GCP Universes (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e03bf2949664282d4eb09ba18c62a2d98085cba9\"\u003e\u003ccode\u003ee03bf29\u003c/code\u003e\u003c/a\u003e Override info for hns (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14276d82827f21c1ee6b736ff7896ae4211cc726\"\u003e\u003ccode\u003e14276d8\u003c/code\u003e\u003c/a\u003e Update ci pipeline to run tests on HNS bucket (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/729\"\u003e#729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c5ac0e3e65154d4d5ec1d1de1566a7b1ea7781d3\"\u003e\u003ccode\u003ec5ac0e3\u003c/code\u003e\u003c/a\u003e feat(zb-write): Support write mode in Zonal File (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/06399c09003b66292bf25206e500796a8855ce72\"\u003e\u003ccode\u003e06399c0\u003c/code\u003e\u003c/a\u003e Adds mv/rename method implementation for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/727\"\u003e#727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.12.0...2026.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `protobuf` from 6.33.2 to 6.33.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/protocolbuffers/protobuf/releases\"\u003eprotobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eProtocol Buffers v34.0-rc1\u003c/h2\u003e\n\u003ch1\u003eAnnouncements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThis version includes breaking changes to: C++, Objective-C, PHP, Python.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e[Bazel] Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make generator headers private (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add a debug check that the target of CopyFrom is not a descendant of the source. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add [[nodiscard]] to many APIs. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make the arena-enabled constructors of \u003ccode\u003eRepeatedField\u003c/code\u003e, \u003ccode\u003eRepeatedPtrField\u003c/code\u003e, and \u003ccode\u003eMap\u003c/code\u003e private. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria that takes a raw pointer as an argument in favor of the overload that takes a unique_ptr. Remove macro PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() \u0026amp;\u0026amp; !is_repeated()) instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] All entity names have length limit (2afb0dc)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003egenerate_minimal_imports\u003c/code\u003e generation option warning (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Fix nullability annotations on some \u003ccode\u003eGPB*Dictionary\u003c/code\u003e types. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003e-[GPBFieldDescriptor optional]\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Other] Remove deprecated flag for enabling MSVC support (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  Add PHP typehints for setters and remove redundant GPBUtil checks (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25296\"\u003eprotocolbuffers/protobuf#25296\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  support default values for editions/proto2 (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25161\"\u003eprotocolbuffers/protobuf#25161\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise errors in OSS when assign bool to int/enum field in Python Proto. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_format/double_format from python proto text_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise ArributeError) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_precision from python proto json_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor.label (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/news/\"\u003eProtobuf News\u003c/a\u003e may include additional announcements or pre-announcements for upcoming changes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/support/migration/\"\u003eMigration Guide\u003c/a\u003e may include additional guidance for breaking changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBazel\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: cc_toolchain should prefer protoc when prebuilt flag is flipped. (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/25168\"\u003e#25168\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBreaking change: Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat(bazel): wire up prebuilt protoc toolchain (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/24115\"\u003e#24115\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate \u003ccode\u003eproto_descriptor_set\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/23369\"\u003e#23369\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eCompiler\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRuby codegen: support generation of rbs files (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/15633\"\u003e#15633\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid collision name problems between a message named \u003ccode\u003eXyz\u003c/code\u003e and a direct sibling enum named \u003ccode\u003eXyzView\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeneralizing and implementing ValidateFeatureSupport for both Options and Features during proto parsing (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with custom features outside of the \u003ccode\u003epb\u003c/code\u003e package. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix import option handling when include_imports isn't set. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug in STRICT check of namespaced enums to properly check for 'reserved 1 to max' (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent accidental stripping of \u003ccode\u003edebug_redact\u003c/code\u003e options via import option. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eC++\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd EnumerateEnumValues function. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/protocolbuffers/protobuf/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 0.26.0 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio 1.3.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.3.0\"\u003e1.3.0\u003c/a\u003e - 2025-11-10\u003c/h1\u003e\n\u003ch2\u003eRemoved\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1278\"\u003e#1278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for pytest 9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTested Python versions include free threaded Python 3.14t (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1274\"\u003e#1274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTests are run in the same pytest process, instead of spawning a subprocess with \u003ccode\u003epytest.Pytester.runpytest_subprocess\u003c/code\u003e. This prevents the test suite from accidentally using a system installation of pytest-asyncio, which could result in test errors. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1275\"\u003e#1275\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.2.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.2.0\"\u003e1.2.0\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e--asyncio-debug\u003c/code\u003e CLI option and \u003ccode\u003easyncio_debug\u003c/code\u003e configuration option to enable asyncio debug mode for the default event loop. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/980\"\u003e#980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003epytest.UsageError\u003c/code\u003e for invalid configuration values of \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e and \u003ccode\u003easyncio_default_test_loop_scope\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompatibility with the Pyright type checker (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRuntimeError: There is no current event loop in thread 'MainThread'\u003c/code\u003e when any test unsets the event loop (such as when using \u003ccode\u003easyncio.run\u003c/code\u003e and \u003ccode\u003easyncio.Runner\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1177\"\u003e#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecation warning when decorating an asynchronous fixture with \u003ccode\u003e@pytest.fixture\u003c/code\u003e in [strict]{.title-ref} mode. The warning message now refers to the correct package. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the minimum required version of tox to v4.28. This change is only relevant if you use the \u003ccode\u003etox.ini\u003c/code\u003e file provided by pytest-asyncio to run tests.\u003c/li\u003e\n\u003cli\u003eExtend dependency on typing-extensions\u0026gt;=4.12 from Python\u0026lt;3.10 to Python\u0026lt;3.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.1.1\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/v1.1.1\"\u003ev1.1.1\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cp\u003e- Addresses a build problem with setuptoos-scm \u0026gt;= 9 caused by invalid setuptools-scm configuration in pytest-asyncio. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1192\"\u003e#1192\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003epytest-asyncio 1.1.0\u003c/h2\u003e\n\u003ch1\u003eAdded\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePropagation of ContextVars from async fixtures to other fixtures and tests on Python 3.10 and older (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/127\"\u003e#127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCancellation of tasks when the \u003ccode\u003eloop_scope\u003c/code\u003e ends (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/200\"\u003e#200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarning when the current event loop is closed by a test\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixed\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/2e9695fcf8c5c514f30f57b7d14ab83846357b96\"\u003e\u003ccode\u003e2e9695f\u003c/code\u003e\u003c/a\u003e docs: Compile changelog for v1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/dd0e9ba3fa672fd6bf375004319742f8d3a50e12\"\u003e\u003ccode\u003edd0e9ba\u003c/code\u003e\u003c/a\u003e docs: Reference correct issue in news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4c31abe5bf46bca3c9bdc7b18405f3deba4145d0\"\u003e\u003ccode\u003e4c31abe\u003c/code\u003e\u003c/a\u003e Build(deps): Bump nh3 from 0.3.1 to 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/13e94770d7bb146c329ae0e02486c0a6b38f3772\"\u003e\u003ccode\u003e13e9477\u003c/code\u003e\u003c/a\u003e Link to migration guides from changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4d2cf3c36f47d7c4d563d401cdf229b35da34fbe\"\u003e\u003ccode\u003e4d2cf3c\u003c/code\u003e\u003c/a\u003e tests: handle Python 3.14 DefaultEventLoopPolicy deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ee3549b6efb729b934e370e2be8040b25b034010\"\u003e\u003ccode\u003eee3549b\u003c/code\u003e\u003c/a\u003e test: Remove obsolete test for the event_loop fixture.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7a67c82c5ae548f0968438e9dfa0f282d51c4597\"\u003e\u003ccode\u003e7a67c82\u003c/code\u003e\u003c/a\u003e tests: Fix failing test by preventing warning conversion to error.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a17b689a750d05b6fc9369f5fb2b06baaba83536\"\u003e\u003ccode\u003ea17b689\u003c/code\u003e\u003c/a\u003e test: add pytest config to isolated test directories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/18afc9df5a3153dc1fbdc4e11a56517ef95480df\"\u003e\u003ccode\u003e18afc9d\u003c/code\u003e\u003c/a\u003e fix(tests): replace runpytest_subprocess with runpytest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/cdc6bd1de75b4738289eafd546f5e27a0bfd3b41\"\u003e\u003ccode\u003ecdc6bd1\u003c/code\u003e\u003c/a\u003e Add support for pytest 9 and drop Python 3.9 support\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v0.26.0...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/releases\"\u003ebuild's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/940\"\u003e#940\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/943\"\u003e#943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1 (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/942\"\u003e#942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/950\"\u003e#950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/921\"\u003e#921\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/blob/main/CHANGELOG.rst\"\u003ebuild's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.4.0 (2026-01-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag\n(:pr:\u003ccode\u003e947\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e\n(:pr:\u003ccode\u003e940\u003c/code\u003e, :pr:\u003ccode\u003e943\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable\n(:pr:\u003ccode\u003e971\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1\n(:pr:\u003ccode\u003e960\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already\n(:pr:\u003ccode\u003e962\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review\n(:pr:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e\n(:pr:\u003ccode\u003e950\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy\n(:pr:\u003ccode\u003e944\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e\n(:pr:\u003ccode\u003e945\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name\n(PR :pr:\u003ccode\u003e970\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed\n(PR :pr:\u003ccode\u003e921\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/54f238d1664124e06a68c6c22fd5b1418fa5feb2\"\u003e\u003ccode\u003e54f238d\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.0 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/f219276a6e2c6c8222780ba518ce52444a91deaa\"\u003e\u003ccode\u003ef219276\u003c/code\u003e\u003c/a\u003e docs: first argument for _has_dependency is a name (\u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/7adb29e69d2744acc5391d3c58d234388a9ac0ed\"\u003e\u003ccode\u003e7adb29e\u003c/code\u003e\u003c/a\u003e fix: support UV environment variable (\u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/a40623b20de5d29c80b569283191d65e630f4fc0\"\u003e\u003ccode\u003ea40623b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/attest-build-provenance in the actions group (\u003ca href=\"https://redirect.github.com/pypa/build/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/c8fae3459dbe4456d82d705c6a3f1869b0b26e5c\"\u003e\u003ccode\u003ec8fae34\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories (\u003ca href=\"https://redirect.github.com/pypa/build/issues/965\"\u003e#965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/ed9c379f51abca7c0c0ae20bee66aa548d597dc3\"\u003e\u003ccode\u003eed9c379\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/0e44fd22f35c7b3c14d6410bbd8912dafba0e4a9\"\u003e\u003ccode\u003e0e44fd2\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003equiet\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/60e15ed4cb31209f0e07de750c831cdb3911c62c\"\u003e\u003ccode\u003e60e15ed\u003c/code\u003e\u003c/a\u003e chore: color defaults to True in 3.14 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/0486d9df2e6caf7c04a3991824093eb6a16e7f29\"\u003e\u003ccode\u003e0486d9d\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories (\u003ca href=\"https://redirect.github.com/pypa/build/issues/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/393b775480523247c1ad07b8da9bb8c23c5cd0fa\"\u003e\u003ccode\u003e393b775\u003c/code\u003e\u003c/a\u003e MNT: remove workaround for 3.14b1 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.3.0...1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `debugpy` from 1.8.19 to 1.8.20\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/debugpy/releases\"\u003edebugpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003edebugpy v1.8.20\u003c/h2\u003e\n\u003cp\u003eFixes for:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eannotate in 3.14 causing exceptions: \u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1971\"\u003emicrosoft/debugpy#1971\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eEnhancements:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse remote_exec if available: \u003ca href=\"https://github.com/microsoft/debugpy/commit/c7e86a1954381ceadb2ea398fc60079deef91358\"\u003ehttps://github.com/microsoft/debugpy/commit/c7e86a1954381ceadb2ea398fc60079deef91358\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport more architectures: \u003ca href=\"https://github.com/microsoft/debugpy/commit/1bbecdf366016c58e62a076b46d4f3c00aea097f\"\u003ehttps://github.com/microsoft/debugpy/commit/1bbecdf366016c58e62a076b46d4f3c00aea097f\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eInfrastructure work:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport devcontainers for development: \u003ca href=\"https://github.com/microsoft/debugpy/commit/7dbc2292b1a23e5ae80db67a1b25f002bd104776\"\u003ehttps://github.com/microsoft/debugpy/commit/7dbc2292b1a23e5ae80db67a1b25f002bd104776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/rameshvarun\"\u003e\u003ccode\u003e@​rameshvarun\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Xeonacid\"\u003e\u003ccode\u003e@​Xeonacid\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/pdepetro\"\u003e\u003ccode\u003e@​pdepetro\u003c/code\u003e\u003c/a\u003e for the commits\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/microsoft/debugpy/commit/7ac3d1f2c65ccf6b2e62a762863093f0242179f0\"\u003e\u003ccode\u003e7ac3d1f\u003c/code\u003e\u003c/a\u003e Try 6 on this file (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1995\"\u003e#1995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/e1646137a8346292a528b2899c7c8a8fe8d60224\"\u003e\u003ccode\u003ee164613\u003c/code\u003e\u003c/a\u003e O365 new advice (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1994\"\u003e#1994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/4cbf8b1ce99a856b032470c19c3261195e137ca2\"\u003e\u003ccode\u003e4cbf8b1\u003c/code\u003e\u003c/a\u003e Try another suppression (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1993\"\u003e#1993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/ea9fcaeb59482ad97c51cbe584247f30a0c7ae2d\"\u003e\u003ccode\u003eea9fcae\u003c/code\u003e\u003c/a\u003e Try a different way to suppress binskim problems (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1992\"\u003e#1992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/ea2746aafcd830a96a2144c3f636ba587f90a15d\"\u003e\u003ccode\u003eea2746a\u003c/code\u003e\u003c/a\u003e Add LTCG flags to compile_windows.bat for BinSkim BA6006 compliance (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1991\"\u003e#1991\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/7dbc2292b1a23e5ae80db67a1b25f002bd104776\"\u003e\u003ccode\u003e7dbc229\u003c/code\u003e\u003c/a\u003e Added devcontainer specification (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1989\"\u003e#1989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/bb450fc27202cdf0676343dc0150be962b627233\"\u003e\u003ccode\u003ebb450fc\u003c/code\u003e\u003c/a\u003e Fix: Treat \u003cstrong\u003eannotate\u003c/strong\u003e functions as library code in Python 3.14+ (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/1bbecdf366016c58e62a076b46d4f3c00aea097f\"\u003e\u003ccode\u003e1bbecdf\u003c/code\u003e\u003c/a\u003e Better experience for unsupported arch (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1984\"\u003e#1984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/debugpy/commit/c7e86a1954381ceadb2ea398fc60079deef91358\"\u003e\u003ccode\u003ec7e86a1\u003c/code\u003e\u003c/a\u003e Use sys.remote_exec() to attach to pid, if available (\u003ca href=\"https://redirect.github.com/microsoft/debugpy/issues/1986\"\u003e#1986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/microsoft/debugpy/compare/v1.8.19...v1.8.20\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `greenlet` from 3.3.0 to 3.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst\"\u003egreenlet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.3.1 (2026-01-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePublish Windows ARM binary wheels, where available.\u003c/li\u003e\n\u003cli\u003eFix compilation for 3.14t on Windows.\u003c/li\u003e\n\u003cli\u003ePublish Windows 3.14t binary wheels for Intel.\u003c/li\u003e\n\u003cli\u003eSwitch from Appveyor for Windows to Github Actions.\u003c/li\u003e\n\u003cli\u003eFix compilation on MIPS with GCC 15 and binutils 2.45. See \u003ccode\u003ePR 487 by Rosen Penev \u0026lt;https://github.com/python-greenlet/greenlet/pull/487\u0026gt;\u003c/code\u003e_. Note that\nthis is not a platform tested by this project's CI.\u003c/li\u003e\n\u003cli\u003eMove most project metadata into the static \u003ccode\u003epyproject.toml\u003c/code\u003e file.\nThis updates licensing information to use the modern\n\u003ccode\u003eLicense-Expression\u003c/code\u003e field. See \u003ccode\u003ePR 480 by mrbean-bremen \u0026lt;https://github.com/python-greenlet/greenlet/pull/480/\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d1a0a3fa740425b8dd4dceafbecedda21d70cc08\"\u003e\u003ccode\u003ed1a0a3f\u003c/code\u003e\u003c/a\u003e Preparing release 3.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/bb11806a5b59bda374d097bd3479874c6651daab\"\u003e\u003ccode\u003ebb11806\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/482\"\u003e#482\u003c/a\u003e from tacaswell/cp315_compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/07089655734136eb5a78b67607d1c493e0155301\"\u003e\u003ccode\u003e0708965\u003c/code\u003e\u003c/a\u003e Change note for \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/480\"\u003e#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/62ff68fbe3b01a51f0c113537bfd71c466e2bf4f\"\u003e\u003ccode\u003e62ff68f\u003c/code\u003e\u003c/a\u003e pyproject: It's tool.zest-releaser, not tools.zest-releaser.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/7081130b399dd47602a90e75924c5c5cd66b6085\"\u003e\u003ccode\u003e7081130\u003c/code\u003e\u003c/a\u003e Move most of setuptools attributes to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/b462f7521ca17947720d879c15dec7c5147812af\"\u003e\u003ccode\u003eb462f75\u003c/code\u003e\u003c/a\u003e Add change note for \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/487\"\u003e#487\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/918e88850ffba91ec7492f42e7e33b7ff2c90534\"\u003e\u003ccode\u003e918e888\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/486\"\u003e#486\u003c/a\u003e from python-greenlet/dependabot/github_actions/github...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/c5e2e6f7e674d26f418fb2e3c3cc851e80c92cc7\"\u003e\u003ccode\u003ec5e2e6f\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/54f257d775cea6ef16b80ea5aa69e18ffba553db\"\u003e\u003ccode\u003e54f257d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/487\"\u003e#487\u003c/a\u003e from neheb/mips\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/b2cf41d90f9b654029ce6039293511da91a46b35\"\u003e\u003ccode\u003eb2cf41d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/490\"\u003e#490\u003c/a\u003e from python-greenlet/windows-on-github\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-greenlet/greenlet/compare/3.3.0...3.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyright` from 1.1.407 to 1.1.408\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RobertCraigie/pyright-python/commit/81b795a41ddcc3c77218d8c8e406983e39852285\"\u003e\u003ccode\u003e81b795a\u003c/code\u003e\u003c/a\u003e Pyright NPM Package update to 1.1.408 (\u003ca href=\"https://redirect.github.com/RobertCraigie/pyright-python/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RobertCraigie/pyright-python/compare/v1.1.407...v1.1.408\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.10 to 0.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.0\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-03.\u003c/p\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.15.0\"\u003eblog post\u003c/a\u003e for a migration guide and overview of the changes!\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRuff now formats your code according to the 2026 style guide. See the formatter section below or in the blog post for a detailed list of changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe linter now supports block suppression comments. For example, to suppress \u003ccode\u003eN803\u003c/code\u003e for all parameters in this function:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e# ruff: disable[N803]\ndef foo(\n    legacyArg1,\n    legacyArg2,\n    legacyArg3,\n    legacyArg4,\n): ...\n# ruff: enable[N803]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the \u003ca href=\"https://docs.astral.sh/ruff/linter/#block-level\"\u003edocumentation\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:alpine\u003c/code\u003e Docker image is now based on Alpine 3.23 (up from 3.21).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:debian\u003c/code\u003e and \u003ccode\u003eruff:debian-slim\u003c/code\u003e Docker images are now based on Debian 13 \u0026quot;Trixie\u0026quot; instead of Debian 12 \u0026quot;Bookworm.\u0026quot;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinaries for the \u003ccode\u003eppc64\u003c/code\u003e (64-bit big-endian PowerPC) architecture are no longer included in our releases. It should still be possible to build Ruff manually for this platform, if needed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRuff now resolves all \u003ccode\u003eextend\u003c/code\u003eed configuration files before falling back on a default Python version.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStabilization\u003c/h3\u003e\n\u003cp\u003eThe following rules have been stabilized and are no longer in preview:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-http-call-httpx-in-async-function\"\u003e\u003ccode\u003eblocking-http-call-httpx-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC212\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-path-method-in-async-function\"\u003e\u003ccode\u003eblocking-path-method-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC240\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-input-in-async-function\"\u003e\u003ccode\u003eblocking-input-in-async-function\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eASYNC250\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/map-without-explicit-strict\"\u003e\u003ccode\u003emap-without-explicit-strict\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eB912\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/if-exp-instead-of-or-operator\"\u003e\u003ccode\u003eif-exp-instead-of-or-operator\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eFURB110\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/single-item-membership-test\"\u003e\u003ccode\u003esingle-item-membership-test\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eFURB171\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/missing-maxsplit-arg\"\u003e\u003ccode\u003emissing-maxsplit-arg\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePLC0207\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/unnecessary-lambda\"\u003e\u003ccode\u003eunnecessary-lambda\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003ePLW0108\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/unnecessary-empty-iterable-within-deque-call\"\u003e\u003ccode\u003eunnecessary-empty-iterable-within-deque-call\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF037\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/in-empty-collection\"\u003e\u003ccode\u003ein-empty-collection\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF060\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/legacy-form-pytest-raises\"\u003e\u003ccode\u003elegacy-form-pytest-raises\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF061\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/non-octal-permissions\"\u003e\u003ccode\u003enon-octal-permissions\u003c/code\u003e\u003c/a\u003e (\u003ccode\u003eRUF064\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.15.0\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-02-03.\u003c/p\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://astral.sh/blog/ruff-v0.15.0\"\u003eblog post\u003c/a\u003e for a migration\nguide and overview of the changes!\u003c/p\u003e\n\u003ch3\u003eBreaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRuff now formats your code according to the 2026 style guide. See the formatter section below or in the blog post for a detailed list of changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe linter now supports block suppression comments. For example, to suppress \u003ccode\u003eN803\u003c/code\u003e for all parameters in this function:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e# ruff: disable[N803]\ndef foo(\n    legacyArg1,\n    legacyArg2,\n    legacyArg3,\n    legacyArg4,\n): ...\n# ruff: enable[N803]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the \u003ca href=\"https://docs.astral.sh/ruff/linter/#block-level\"\u003edocumentation\u003c/a\u003e for more details.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:alpine\u003c/code\u003e Docker image is now based on Alpine 3.23 (up from 3.21).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003eruff:debian\u003c/code\u003e and \u003ccode\u003eruff:debian-slim\u003c/code\u003e Docker images are now based on Debian 13 \u0026quot;Trixie\u0026quot; instead of Debian 12 \u0026quot;Bookworm.\u0026quot;\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eBinaries for the \u003ccode\u003eppc64\u003c/code\u003e (64-bit big-endian PowerPC) architecture are no longer included in our releases. It should still be possible to build Ruff manually for this platform, if needed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRuff now resolves all \u003ccode\u003eextend\u003c/code\u003eed configuration files before falling back on a default Python version.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStabilization\u003c/h3\u003e\n\u003cp\u003eThe following rules have been stabilized and are no longer in preview:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-http-call-httpx-in-async-function\"\u003e\u003ccode\u003eblocking-http-call-httpx-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC212\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-path-method-in-async-function\"\u003e\u003ccode\u003eblocking-path-method-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC240\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/blocking-input-in-async-function\"\u003e\u003ccode\u003eblocking-input-in-async-function\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eASYNC250\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/map-without-explicit-strict\"\u003e\u003ccode\u003emap-without-explicit-strict\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eB912\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/if-exp-instead-of-or-operator\"\u003e\u003ccode\u003eif-exp-instead-of-or-operator\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eFURB110\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://docs.astral.sh/ruff/rules/single-item-membership-test\"\u003e\u003ccode\u003esingle-item-membership-test\u003c/code\u003e\u003c/a\u003e\n(\u003ccode\u003eFURB171\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ce5f7b6127a5d684e96fd0f8e387f73c41c7a1b0\"\u003e\u003ccode\u003ece5f7b6\u003c/code\u003e\u003c/a\u003e Bump 0.15.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23055\"\u003e#23055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b4e40f539cdbafac8afd6e510994ca64c3b317b9\"\u003e\u003ccode\u003eb4e40f5\u003c/code\u003e\u003c/a\u003e [ty] Fix \u003ccode\u003e__contains__\u003c/code\u003e to respect descriptors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23056\"\u003e#23056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/848cb72dc14b4c9409bf08e8323b4119d6b90005\"\u003e\u003ccode\u003e848cb72\u003c/code\u003e\u003c/a\u003e [ty] Fix narrowing of nonlocal variables with conditional assignments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22966\"\u003e#22966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/da7f33af22c7da3f3cb9321f776dda4131dda3cb\"\u003e\u003ccode\u003eda7f33a\u003c/code\u003e\u003c/a\u003e [ty] Add a diagnostic for \u003ccode\u003eFinal\u003c/code\u003e without assignment (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23001\"\u003e#23001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e65f9a6b039fa411e5609a7bda9bb7ffd11e9b1a\"\u003e\u003ccode\u003ee65f9a6\u003c/code\u003e\u003c/a\u003e Document markdown formatting feature (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22990\"\u003e#22990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c0c1b985c9ec4b3570b0a28af69ad6776a3ec401\"\u003e\u003ccode\u003ec0c1b98\u003c/code\u003e\u003c/a\u003e Format markdown code blocks with line-by-line regex parse (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22996\"\u003e#22996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9f8f3e196bd6d4f2c572075536dd38b769c48087\"\u003e\u003ccode\u003e9f8f3e1\u003c/code\u003e\u003c/a\u003e Allow positional-only params with defaults in method overrides (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23037\"\u003e#23037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ef83810e118e3e41aa6c63f87f8a8147363a3e56\"\u003e\u003ccode\u003eef83810\u003c/code\u003e\u003c/a\u003e [ty] ecosystem-analyzer: Support bare git repositories (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23054\"\u003e#23054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/54dfee4cb800c0b0890b2b2c74c64cc45584194c\"\u003e\u003ccode\u003e54dfee4\u003c/code\u003e\u003c/a\u003e Customize where the \u003ccode\u003efix_title\u003c/code\u003e sub-diagnostic appears (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/23044\"\u003e#23044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b53460799b592e5276e1d148d8a48469f396032e\"\u003e\u003ccode\u003eb534607\u003c/code\u003e\u003c/a\u003e 2026 Ruff Formatter Style (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22735\"\u003e#22735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.10...0.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tombi` from 0.7.14 to 0.7.26\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tombi-toml/tombi/releases\"\u003etombi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.26\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🚀 New Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support \u003ccode\u003e.tombi.toml\u003c/code\u003e config. by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1476\"\u003etombi-toml/tombi#1476\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠️ Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: use log crate. by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1474\"\u003etombi-toml/tombi#1474\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tombi-toml/tombi/compare/v0.7.25...v0.7.26\"\u003ehttps://github.com/tombi-toml/tombi/compare/v0.7.25...v0.7.26\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.7.25\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🛠️ Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: update JSON schema to use patternProperties and disable additionalProperties for better validation by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1465\"\u003etombi-toml/tombi#1465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: update schema URI in goto definition test to use HTTPS by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1466\"\u003etombi-toml/tombi#1466\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: add File completion kind and update related completion logic by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1467\"\u003etombi-toml/tombi#1467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: implement file path completions and refactor related completion logic by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1468\"\u003etombi-toml/tombi#1468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: completion hint. by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1469\"\u003etombi-toml/tombi#1469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd completion label tombi by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1470\"\u003etombi-toml/tombi#1470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd completion pyproject file completion by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tombi-toml/tombi/pull/1472\"\u003etombi-toml/tombi#1472\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/tombi-toml/tombi/compare/v0.7.24...v0.7.25\"\u003ehttps://github.com/tombi-toml/tombi/compare/v0.7.24...v0.7.25\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.7.24\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🛠️ Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: add environment variable support to set...\n\n_Description has been truncated_","html_url":"https://github.com/donvargax/adk-ddd/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/donvargax%2Fadk-ddd/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"2025.12.0","new_version":"2026.1.0","update_type":"major","path":null,"pr_created_at":"2026-02-04T02:50:19.000Z","version_change":"2025.12.0 → 2026.1.0","issue":{"uuid":"3894260733","node_id":"PR_kwDOQ54Gg87BWUfz","number":4,"state":"closed","title":"Bump the uv-dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-02-11T02:49:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-04T02:50:19.000Z","updated_at":"2026-02-11T02:49:55.000Z","time_to_close":604775,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"uv-dependencies","update_count":12,"packages":[{"name":"google-adk","old_version":"1.21.0","new_version":"1.23.0","repository_url":"https://github.com/google/adk-python"},{"name":"opentelemetry-instrumentation-google-genai","old_version":"0.5b0","new_version":"0.6b0","repository_url":"https://github.com/open-telemetry/opentelemetry-python-contrib"},{"name":"gcsfs","old_version":"2025.12.0","new_version":"2026.1.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"protobuf","old_version":"6.33.2","new_version":"6.33.4","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"pytest-asyncio","old_version":"0.26.0","new_version":"1.3.0","repository_url":"https://github.com/pytest-dev/pytest-asyncio"},{"name":"build","old_version":"1.3.0","new_version":"1.4.0","repository_url":"https://github.com/pypa/build"},{"name":"greenlet","old_version":"3.3.0","new_version":"3.3.1","repository_url":"https://github.com/python-greenlet/greenlet"},{"name":"pyright","old_version":"1.1.407","new_version":"1.1.408","repository_url":"https://github.com/RobertCraigie/pyright-python"},{"name":"ruff","old_version":"0.14.10","new_version":"0.14.14","repository_url":"https://github.com/astral-sh/ruff"},{"name":"tombi","old_version":"0.7.14","new_version":"0.7.25","repository_url":"https://github.com/tombi-toml/tombi"},{"name":"uv","old_version":"0.9.21","new_version":"0.9.27","repository_url":"https://github.com/astral-sh/uv"},{"name":"types-requests","old_version":"2.32.4.20250913","new_version":"2.32.4.20260107","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv-dependencies group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [google-adk](https://github.com/google/adk-python) | `1.21.0` | `1.23.0` |\n| [opentelemetry-instrumentation-google-genai](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.5b0` | `0.6b0` |\n| [gcsfs](https://github.com/fsspec/gcsfs) | `2025.12.0` | `2026.1.0` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.2` | `6.33.4` |\n| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) | `0.26.0` | `1.3.0` |\n| [build](https://github.com/pypa/build) | `1.3.0` | `1.4.0` |\n| [greenlet](https://github.com/python-greenlet/greenlet) | `3.3.0` | `3.3.1` |\n| [pyright](https://github.com/RobertCraigie/pyright-python) | `1.1.407` | `1.1.408` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.10` | `0.14.14` |\n| [tombi](https://github.com/tombi-toml/tombi) | `0.7.14` | `0.7.25` |\n| [uv](https://github.com/astral-sh/uv) | `0.9.21` | `0.9.27` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.4.20250913` | `2.32.4.20260107` |\n\n\nUpdates `google-adk` from 1.21.0 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/releases\"\u003egoogle-adk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.22.1...v1.23.0\"\u003e1.23.0\u003c/a\u003e (2026-01-22)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking: Use OpenTelemetry for BigQuery plugin tracing, replacing custom \u003ccode\u003eContextVar\u003c/code\u003e implementation (\u003ca href=\"https://github.com/google/adk-python/commit/ab89d1283430041afb303834749869e9ee331721\"\u003eab89d12\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support to automatically create a session if one does not exist (\u003ca href=\"https://github.com/google/adk-python/commit/8e69a58df4eadeccbb100b7264bb518a46b61fd7\"\u003e8e69a58\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e@experimental\u003c/code\u003e decorator from \u003ccode\u003eAgentEngineSandboxCodeExecutor\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/135f7633253f6a415302142abc3579b664601d5b\"\u003e135f763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--disable_features\u003c/code\u003e CLI option to override default feature enable state (\u003ca href=\"https://github.com/google/adk-python/commit/53b67ce6340f3f3f8c3d732f9f7811e445c76359\"\u003e53b67ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel_to_cloud\u003c/code\u003e flag to \u003ccode\u003eadk deploy agent_engine\u003c/code\u003e command (\u003ca href=\"https://github.com/google/adk-python/commit/21f63f66ee424501d9a70806277463ef718ae843\"\u003e21f63f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eis_computer_use\u003c/code\u003e field to agent information in \u003ccode\u003eadk-web\u003c/code\u003e server (\u003ca href=\"https://github.com/google/adk-python/commit/5923da786eb1aaef6f0bcbc6adc906cbc8bf9b36\"\u003e5923da7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003ethinking_config\u003c/code\u003e in \u003ccode\u003egenerate_content_config\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/e162bb8832a806e2380048e39165bf837455f88c\"\u003ee162bb8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConvert A2UI messages between A2A \u003ccode\u003eDataPart\u003c/code\u003e metadata and ADK events (\u003ca href=\"https://github.com/google/adk-python/commit/1133ce219c5a7a9a85222b03e348ba6b13830c8f\"\u003e1133ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--enable_features\u003c/code\u003e CLI option to override default feature enable state (\u003ca href=\"https://github.com/google/adk-python/commit/79fcddb39f71a4c1342e63b4d67832b3eccb2652\"\u003e79fcddb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd flush mechanism to \u003ccode\u003eBigQueryAgentAnalyticsPlugin\u003c/code\u003e to ensure pending log events are written to BigQuery (\u003ca href=\"https://github.com/google/adk-python/commit/9579bea05d946b3d8b4bfec35e510725dd371224\"\u003e9579bea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow Google Search tool to set a different model (\u003ca href=\"https://github.com/google/adk-python/commit/b57a3d43e4656f5a3c5db53addff02b67d1fde26\"\u003eb57a3d4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport authentication for MCP tool listing (\u003ca href=\"https://github.com/google/adk-python/commit/e3d542a5ba3d357407f8cd29cfdd722f583c8564\"\u003ee3d542a\u003c/a\u003e \u003ca href=\"https://github.com/google/adk-python/commit/19315fe557039fa8bf446525a4830b1c9f40cba9\"\u003e19315fe\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003ebase_retrieval_tool\u003c/code\u003e, \u003ccode\u003eload_artifacts_tool\u003c/code\u003e, and \u003ccode\u003eload_memory_tool\u003c/code\u003e declarations when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/69ad605bc4bbe9a4f018127fd3625169ee70488e\"\u003e69ad605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003eIntegrationConnectorTool\u003c/code\u003e declaration when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/2ed686527ac75ff64128ce7d9b1a3befc2b37c64\"\u003e2ed6865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStart and close \u003ccode\u003eClientSession\u003c/code\u003e in a single task in \u003ccode\u003eMcpSessionManager\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/cce430da799766686e65f6cae02ba64e916d5c8a\"\u003ecce430d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003eRestApiTool\u003c/code\u003e declaration when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/a5f0d333d7f26f2966ed511d5d9def7a1933f0c2\"\u003ea5f0d33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Evals]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003eadk eval\u003c/code\u003e CLI to consume custom metrics by adding \u003ccode\u003eCustomMetricEvaluator\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/ea0934b9934c1fefd129a1026d6af369f126870e\"\u003eea0934b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eEvalConfig\u003c/code\u003e and \u003ccode\u003eEvalMetric\u003c/code\u003e data models to support custom metrics (\u003ca href=\"https://github.com/google/adk-python/commit/6d2f33a59cfba358dd758378290125fc2701c411\"\u003e6d2f33a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Observability]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd minimal \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e spans and logs for non-Gemini inference and when \u003ccode\u003eopentelemetry-inference-google-genai\u003c/code\u003e dependency is missing (\u003ca href=\"https://github.com/google/adk-python/commit/935c279f8281bde99224f03d936b8abe51cbabfc\"\u003e935c279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Integrations]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnhance \u003ccode\u003eTraceManager\u003c/code\u003e asynchronous safety, enrich BigQuery plugin logging, and fix serialization (\u003ca href=\"https://github.com/google/adk-python/commit/a4116a6cbfadc161982af5dabd55a711d79348b7\"\u003ea4116a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Live]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePersist user input content to session in live mode (\u003ca href=\"https://github.com/google/adk-python/commit/a04828dd8a848482acbd48acc7da432d0d2cb0aa\"\u003ea04828d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecursively extract input/output schema for AgentTool (\u003ca href=\"https://github.com/google/adk-python/commit/bf2b56de6d0052e40b6d871b2d22c56e9225e145\"\u003ebf2b56d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eYield buffered \u003ccode\u003efunction_call\u003c/code\u003e and \u003ccode\u003efunction_response\u003c/code\u003e events during live streaming (\u003ca href=\"https://github.com/google/adk-python/commit/7b25b8fb1daf54d7694bf405d545d46d2c012d2b\"\u003e7b25b8f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eauthlib\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e dependency versions (\u003ca href=\"https://github.com/google/adk-python/commit/7955177fb28b8e5dc19aae8be94015a7b5d9882a\"\u003e7955177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eLITELLM_MODE\u003c/code\u003e to \u003ccode\u003ePRODUCTION\u003c/code\u003e before importing LiteLLM to prevent implicit \u003ccode\u003e.env\u003c/code\u003e file loading (\u003ca href=\"https://github.com/google/adk-python/commit/215c2f506e21a3d8c39551b80f6356943ecae320\"\u003e215c2f5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRedact sensitive information from URIs in logs (\u003ca href=\"https://github.com/google/adk-python/commit/5257869d91a77ebd1381538a85e7fdc3a600da90\"\u003e5257869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle asynchronous driver URLs in the migration tool (\u003ca href=\"https://github.com/google/adk-python/commit/4b29d15b3e5df65f3503daffa6bc7af85159507b\"\u003e4b29d15\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove custom metadata from A2A response events (\u003ca href=\"https://github.com/google/adk-python/commit/81eaeb5eba6d40cde0cf6147d96921ed1bf7bb31\"\u003e81eaeb5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/adk-python/blob/main/CHANGELOG.md\"\u003egoogle-adk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/google/adk-python/compare/v1.22.1...v1.23.0\"\u003e1.23.0\u003c/a\u003e (2026-01-22)\u003c/h2\u003e\n\u003ch3\u003e⚠ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBreaking: Use OpenTelemetry for BigQuery plugin tracing, replacing custom \u003ccode\u003eContextVar\u003c/code\u003e implementation (\u003ca href=\"https://github.com/google/adk-python/commit/ab89d1283430041afb303834749869e9ee331721\"\u003eab89d12\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Core]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support to automatically create a session if one does not exist (\u003ca href=\"https://github.com/google/adk-python/commit/8e69a58df4eadeccbb100b7264bb518a46b61fd7\"\u003e8e69a58\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003e@experimental\u003c/code\u003e decorator from \u003ccode\u003eAgentEngineSandboxCodeExecutor\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/135f7633253f6a415302142abc3579b664601d5b\"\u003e135f763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--disable_features\u003c/code\u003e CLI option to override default feature enable state (\u003ca href=\"https://github.com/google/adk-python/commit/53b67ce6340f3f3f8c3d732f9f7811e445c76359\"\u003e53b67ce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel_to_cloud\u003c/code\u003e flag to \u003ccode\u003eadk deploy agent_engine\u003c/code\u003e command (\u003ca href=\"https://github.com/google/adk-python/commit/21f63f66ee424501d9a70806277463ef718ae843\"\u003e21f63f6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eis_computer_use\u003c/code\u003e field to agent information in \u003ccode\u003eadk-web\u003c/code\u003e server (\u003ca href=\"https://github.com/google/adk-python/commit/5923da786eb1aaef6f0bcbc6adc906cbc8bf9b36\"\u003e5923da7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003ethinking_config\u003c/code\u003e in \u003ccode\u003egenerate_content_config\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/e162bb8832a806e2380048e39165bf837455f88c\"\u003ee162bb8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConvert A2UI messages between A2A \u003ccode\u003eDataPart\u003c/code\u003e metadata and ADK events (\u003ca href=\"https://github.com/google/adk-python/commit/1133ce219c5a7a9a85222b03e348ba6b13830c8f\"\u003e1133ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--enable_features\u003c/code\u003e CLI option to override default feature enable state (\u003ca href=\"https://github.com/google/adk-python/commit/79fcddb39f71a4c1342e63b4d67832b3eccb2652\"\u003e79fcddb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Tools]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd flush mechanism to \u003ccode\u003eBigQueryAgentAnalyticsPlugin\u003c/code\u003e to ensure pending log events are written to BigQuery (\u003ca href=\"https://github.com/google/adk-python/commit/9579bea05d946b3d8b4bfec35e510725dd371224\"\u003e9579bea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow Google Search tool to set a different model (\u003ca href=\"https://github.com/google/adk-python/commit/b57a3d43e4656f5a3c5db53addff02b67d1fde26\"\u003eb57a3d4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport authentication for MCP tool listing (\u003ca href=\"https://github.com/google/adk-python/commit/e3d542a5ba3d357407f8cd29cfdd722f583c8564\"\u003ee3d542a\u003c/a\u003e \u003ca href=\"https://github.com/google/adk-python/commit/19315fe557039fa8bf446525a4830b1c9f40cba9\"\u003e19315fe\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003ebase_retrieval_tool\u003c/code\u003e, \u003ccode\u003eload_artifacts_tool\u003c/code\u003e, and \u003ccode\u003eload_memory_tool\u003c/code\u003e declarations when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/69ad605bc4bbe9a4f018127fd3625169ee70488e\"\u003e69ad605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003eIntegrationConnectorTool\u003c/code\u003e declaration when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/2ed686527ac75ff64128ce7d9b1a3befc2b37c64\"\u003e2ed6865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStart and close \u003ccode\u003eClientSession\u003c/code\u003e in a single task in \u003ccode\u003eMcpSessionManager\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/cce430da799766686e65f6cae02ba64e916d5c8a\"\u003ecce430d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse JSON schema for \u003ccode\u003eRestApiTool\u003c/code\u003e declaration when the feature is enabled (\u003ca href=\"https://github.com/google/adk-python/commit/a5f0d333d7f26f2966ed511d5d9def7a1933f0c2\"\u003ea5f0d33\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Evals]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003eadk eval\u003c/code\u003e CLI to consume custom metrics by adding \u003ccode\u003eCustomMetricEvaluator\u003c/code\u003e (\u003ca href=\"https://github.com/google/adk-python/commit/ea0934b9934c1fefd129a1026d6af369f126870e\"\u003eea0934b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eEvalConfig\u003c/code\u003e and \u003ccode\u003eEvalMetric\u003c/code\u003e data models to support custom metrics (\u003ca href=\"https://github.com/google/adk-python/commit/6d2f33a59cfba358dd758378290125fc2701c411\"\u003e6d2f33a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Observability]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd minimal \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e spans and logs for non-Gemini inference and when \u003ccode\u003eopentelemetry-inference-google-genai\u003c/code\u003e dependency is missing (\u003ca href=\"https://github.com/google/adk-python/commit/935c279f8281bde99224f03d936b8abe51cbabfc\"\u003e935c279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Integrations]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eEnhance \u003ccode\u003eTraceManager\u003c/code\u003e asynchronous safety, enrich BigQuery plugin logging, and fix serialization (\u003ca href=\"https://github.com/google/adk-python/commit/a4116a6cbfadc161982af5dabd55a711d79348b7\"\u003ea4116a6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e[Live]\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePersist user input content to session in live mode (\u003ca href=\"https://github.com/google/adk-python/commit/a04828dd8a848482acbd48acc7da432d0d2cb0aa\"\u003ea04828d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecursively extract input/output schema for AgentTool (\u003ca href=\"https://github.com/google/adk-python/commit/bf2b56de6d0052e40b6d871b2d22c56e9225e145\"\u003ebf2b56d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eYield buffered \u003ccode\u003efunction_call\u003c/code\u003e and \u003ccode\u003efunction_response\u003c/code\u003e events during live streaming (\u003ca href=\"https://github.com/google/adk-python/commit/7b25b8fb1daf54d7694bf405d545d46d2c012d2b\"\u003e7b25b8f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eauthlib\u003c/code\u003e and \u003ccode\u003emcp\u003c/code\u003e dependency versions (\u003ca href=\"https://github.com/google/adk-python/commit/7955177fb28b8e5dc19aae8be94015a7b5d9882a\"\u003e7955177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet \u003ccode\u003eLITELLM_MODE\u003c/code\u003e to \u003ccode\u003ePRODUCTION\u003c/code\u003e before importing LiteLLM to prevent implicit \u003ccode\u003e.env\u003c/code\u003e file loading (\u003ca href=\"https://github.com/google/adk-python/commit/215c2f506e21a3d8c39551b80f6356943ecae320\"\u003e215c2f5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRedact sensitive information from URIs in logs (\u003ca href=\"https://github.com/google/adk-python/commit/5257869d91a77ebd1381538a85e7fdc3a600da90\"\u003e5257869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle asynchronous driver URLs in the migration tool (\u003ca href=\"https://github.com/google/adk-python/commit/4b29d15b3e5df65f3503daffa6bc7af85159507b\"\u003e4b29d15\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove custom metadata from A2A response events (\u003ca href=\"https://github.com/google/adk-python/commit/81eaeb5eba6d40cde0cf6147d96921ed1bf7bb31\"\u003e81eaeb5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eNone\u003c/code\u003e inferences in eval results (\u003ca href=\"https://github.com/google/adk-python/commit/7d4326c3606a7ff2ba3c0fdef08d4f6af52ee71e\"\u003e7d4326c\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/google/adk-python/commit/7cf1e447d7f7d66d68a3b8c4bd9a77c5973fe6f7\"\u003e\u003ccode\u003e7cf1e44\u003c/code\u003e\u003c/a\u003e chore: Bumps version to v1.23.0 and updates CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3f1b0d0957e7c92c9f6ae82c0c7a14856c2f5744\"\u003e\u003ccode\u003e3f1b0d0\u003c/code\u003e\u003c/a\u003e chore: minor fix for DebugLoggingPlugin example\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/935c279f8281bde99224f03d936b8abe51cbabfc\"\u003e\u003ccode\u003e935c279\u003c/code\u003e\u003c/a\u003e feat(otel): add minimal \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e spans and logs for no...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/82fa10b71e037b565cb407c82e9e908432dab0ff\"\u003e\u003ccode\u003e82fa10b\u003c/code\u003e\u003c/a\u003e feat: add new conversational analytics api tool set\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/bf2b56de6d0052e40b6d871b2d22c56e9225e145\"\u003e\u003ccode\u003ebf2b56d\u003c/code\u003e\u003c/a\u003e fix: recursively extract input/output schema for AgentTool\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/3d96b7883bf12f82e5906b2bbde42803f57f1ee6\"\u003e\u003ccode\u003e3d96b78\u003c/code\u003e\u003c/a\u003e chore: Pin litellm dependency to versions below 1.80.17\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/91ec80c606b812a6e92e62056e3ee546db1414ff\"\u003e\u003ccode\u003e91ec80c\u003c/code\u003e\u003c/a\u003e docs: fixing multiple typos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/295b34558774d1f64022009980e3edd8eb79527b\"\u003e\u003ccode\u003e295b345\u003c/code\u003e\u003c/a\u003e chore:  Filter out \u003ccode\u003eadk_request_input\u003c/code\u003e event from content list\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/b57a3d43e4656f5a3c5db53addff02b67d1fde26\"\u003e\u003ccode\u003eb57a3d4\u003c/code\u003e\u003c/a\u003e feat: Allow google search tool to set different model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/adk-python/commit/9579bea05d946b3d8b4bfec35e510725dd371224\"\u003e\u003ccode\u003e9579bea\u003c/code\u003e\u003c/a\u003e feat(plugins): Add flush mechanism to BigQueryAgentAnalyticsPlugin\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/adk-python/compare/v1.21.0...v1.23.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `opentelemetry-instrumentation-google-genai` from 0.5b0 to 0.6b0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/releases\"\u003eopentelemetry-instrumentation-google-genai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eopentelemetry-instrumentation-google-genai 0.6b0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEnable the addition of custom attributes to the \u003ccode\u003egenerate_content {model.name}\u003c/code\u003e span via the Context API. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/3961\"\u003e#3961\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eEnable the addition of custom attributes to \u003ccode\u003egen_ai.client.inference.operation.details\u003c/code\u003e log events (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python-contrib/pull/4103\"\u003e#4103\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md\"\u003eopentelemetry-instrumentation-google-genai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.6b0 (2020-03-30)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-ext-flask\u003c/code\u003e Add an entry_point to be usable in auto-instrumentation\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/327\"\u003e#327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eopentelemetry-ext-grpc\u003c/code\u003e Add gRPC integration\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-python/pull/476\"\u003e#476\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\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-python-contrib/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gcsfs` from 2025.12.0 to 2026.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/3ed414aa2c5e5a78556726be11d663ff346bab40\"\u003e\u003ccode\u003e3ed414a\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/bca0139193d8dd8103fc52bfa5caf2ffd2172e6a\"\u003e\u003ccode\u003ebca0139\u003c/code\u003e\u003c/a\u003e Implement async upload methods and support async mode in ExtendedGcsfs (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9d64f5c5c74c59c840f440f82288f047bf557a3f\"\u003e\u003ccode\u003e9d64f5c\u003c/code\u003e\u003c/a\u003e mkdir override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/4f9f4ac35f1df42dacfb56f9be200730058fd5ef\"\u003e\u003ccode\u003e4f9f4ac\u003c/code\u003e\u003c/a\u003e reformat benchmark readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/cdd65f5808f6864bd8bed08e7bb7a9359ab0cbe7\"\u003e\u003ccode\u003ecdd65f5\u003c/code\u003e\u003c/a\u003e Adds GCSFS Microbenchmarks (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/722\"\u003e#722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c8ed96a77d027115b436cd9062825f703955b891\"\u003e\u003ccode\u003ec8ed96a\u003c/code\u003e\u003c/a\u003e ✨ Support alternative GCP Universes (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e03bf2949664282d4eb09ba18c62a2d98085cba9\"\u003e\u003ccode\u003ee03bf29\u003c/code\u003e\u003c/a\u003e Override info for hns (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14276d82827f21c1ee6b736ff7896ae4211cc726\"\u003e\u003ccode\u003e14276d8\u003c/code\u003e\u003c/a\u003e Update ci pipeline to run tests on HNS bucket (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/729\"\u003e#729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c5ac0e3e65154d4d5ec1d1de1566a7b1ea7781d3\"\u003e\u003ccode\u003ec5ac0e3\u003c/code\u003e\u003c/a\u003e feat(zb-write): Support write mode in Zonal File (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/06399c09003b66292bf25206e500796a8855ce72\"\u003e\u003ccode\u003e06399c0\u003c/code\u003e\u003c/a\u003e Adds mv/rename method implementation for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/727\"\u003e#727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.12.0...2026.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `protobuf` from 6.33.2 to 6.33.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/protocolbuffers/protobuf/releases\"\u003eprotobuf's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eProtocol Buffers v34.0-rc1\u003c/h2\u003e\n\u003ch1\u003eAnnouncements\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThis version includes breaking changes to: C++, Objective-C, PHP, Python.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e[Bazel] Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make generator headers private (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add a debug check that the target of CopyFrom is not a descendant of the source. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Add [[nodiscard]] to many APIs. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Make the arena-enabled constructors of \u003ccode\u003eRepeatedField\u003c/code\u003e, \u003ccode\u003eRepeatedPtrField\u003c/code\u003e, and \u003ccode\u003eMap\u003c/code\u003e private. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria that takes a raw pointer as an argument in favor of the overload that takes a unique_ptr. Remove macro PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() \u0026amp;\u0026amp; !is_repeated()) instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[C++] All entity names have length limit (2afb0dc)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003egenerate_minimal_imports\u003c/code\u003e generation option warning (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Fix nullability annotations on some \u003ccode\u003eGPB*Dictionary\u003c/code\u003e types. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[ObjC] Remove \u003ccode\u003e-[GPBFieldDescriptor optional]\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Other] Remove deprecated flag for enabling MSVC support (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6\u003c/a\u003e, \u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  Add PHP typehints for setters and remove redundant GPBUtil checks (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25296\"\u003eprotocolbuffers/protobuf#25296\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PHP]  support default values for editions/proto2 (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/pull/25161\"\u003eprotocolbuffers/protobuf#25161\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise errors in OSS when assign bool to int/enum field in Python Proto. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_format/double_format from python proto text_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise ArributeError) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove float_precision from python proto json_format (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated FieldDescriptor.label (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/news/\"\u003eProtobuf News\u003c/a\u003e may include additional announcements or pre-announcements for upcoming changes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://protobuf.dev/support/migration/\"\u003eMigration Guide\u003c/a\u003e may include additional guidance for breaking changes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eBazel\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFix: cc_toolchain should prefer protoc when prebuilt flag is flipped. (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/25168\"\u003e#25168\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBreaking change: Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFeat(bazel): wire up prebuilt protoc toolchain (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/24115\"\u003e#24115\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMigrate \u003ccode\u003eproto_descriptor_set\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/23369\"\u003e#23369\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eCompiler\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRuby codegen: support generation of rbs files (\u003ca href=\"https://redirect.github.com/protocolbuffers/protobuf/issues/15633\"\u003e#15633\u003c/a\u003e) (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid collision name problems between a message named \u003ccode\u003eXyz\u003c/code\u003e and a direct sibling enum named \u003ccode\u003eXyzView\u003c/code\u003e (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGeneralizing and implementing ValidateFeatureSupport for both Options and Features during proto parsing (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with custom features outside of the \u003ccode\u003epb\u003c/code\u003e package. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix import option handling when include_imports isn't set. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug in STRICT check of namespaced enums to properly check for 'reserved 1 to max' (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent accidental stripping of \u003ccode\u003edebug_redact\u003c/code\u003e options via import option. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eC++\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd EnumerateEnumValues function. (\u003ca href=\"https://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\"\u003ehttps://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/protocolbuffers/protobuf/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest-asyncio` from 0.26.0 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/releases\"\u003epytest-asyncio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epytest-asyncio 1.3.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.3.0\"\u003e1.3.0\u003c/a\u003e - 2025-11-10\u003c/h1\u003e\n\u003ch2\u003eRemoved\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Python 3.9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1278\"\u003e#1278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for pytest 9 (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTested Python versions include free threaded Python 3.14t (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1274\"\u003e#1274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTests are run in the same pytest process, instead of spawning a subprocess with \u003ccode\u003epytest.Pytester.runpytest_subprocess\u003c/code\u003e. This prevents the test suite from accidentally using a system installation of pytest-asyncio, which could result in test errors. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1275\"\u003e#1275\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.2.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/1.2.0\"\u003e1.2.0\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eAdded\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e--asyncio-debug\u003c/code\u003e CLI option and \u003ccode\u003easyncio_debug\u003c/code\u003e configuration option to enable asyncio debug mode for the default event loop. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/980\"\u003e#980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003epytest.UsageError\u003c/code\u003e for invalid configuration values of \u003ccode\u003easyncio_default_fixture_loop_scope\u003c/code\u003e and \u003ccode\u003easyncio_default_test_loop_scope\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompatibility with the Pyright type checker (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRuntimeError: There is no current event loop in thread 'MainThread'\u003c/code\u003e when any test unsets the event loop (such as when using \u003ccode\u003easyncio.run\u003c/code\u003e and \u003ccode\u003easyncio.Runner\u003c/code\u003e). (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1177\"\u003e#1177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecation warning when decorating an asynchronous fixture with \u003ccode\u003e@pytest.fixture\u003c/code\u003e in [strict]{.title-ref} mode. The warning message now refers to the correct package. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the minimum required version of tox to v4.28. This change is only relevant if you use the \u003ccode\u003etox.ini\u003c/code\u003e file provided by pytest-asyncio to run tests.\u003c/li\u003e\n\u003cli\u003eExtend dependency on typing-extensions\u0026gt;=4.12 from Python\u0026lt;3.10 to Python\u0026lt;3.13.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epytest-asyncio 1.1.1\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/tree/v1.1.1\"\u003ev1.1.1\u003c/a\u003e - 2025-09-12\u003c/h1\u003e\n\u003ch2\u003eNotes for Downstream Packagers\u003c/h2\u003e\n\u003cp\u003e- Addresses a build problem with setuptoos-scm \u0026gt;= 9 caused by invalid setuptools-scm configuration in pytest-asyncio. (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1192\"\u003e#1192\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003epytest-asyncio 1.1.0\u003c/h2\u003e\n\u003ch1\u003eAdded\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePropagation of ContextVars from async fixtures to other fixtures and tests on Python 3.10 and older (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/127\"\u003e#127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCancellation of tasks when the \u003ccode\u003eloop_scope\u003c/code\u003e ends (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest-asyncio/issues/200\"\u003e#200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarning when the current event loop is closed by a test\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eFixed\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/2e9695fcf8c5c514f30f57b7d14ab83846357b96\"\u003e\u003ccode\u003e2e9695f\u003c/code\u003e\u003c/a\u003e docs: Compile changelog for v1.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/dd0e9ba3fa672fd6bf375004319742f8d3a50e12\"\u003e\u003ccode\u003edd0e9ba\u003c/code\u003e\u003c/a\u003e docs: Reference correct issue in news fragment.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4c31abe5bf46bca3c9bdc7b18405f3deba4145d0\"\u003e\u003ccode\u003e4c31abe\u003c/code\u003e\u003c/a\u003e Build(deps): Bump nh3 from 0.3.1 to 0.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/13e94770d7bb146c329ae0e02486c0a6b38f3772\"\u003e\u003ccode\u003e13e9477\u003c/code\u003e\u003c/a\u003e Link to migration guides from changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/4d2cf3c36f47d7c4d563d401cdf229b35da34fbe\"\u003e\u003ccode\u003e4d2cf3c\u003c/code\u003e\u003c/a\u003e tests: handle Python 3.14 DefaultEventLoopPolicy deprecation warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/ee3549b6efb729b934e370e2be8040b25b034010\"\u003e\u003ccode\u003eee3549b\u003c/code\u003e\u003c/a\u003e test: Remove obsolete test for the event_loop fixture.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/7a67c82c5ae548f0968438e9dfa0f282d51c4597\"\u003e\u003ccode\u003e7a67c82\u003c/code\u003e\u003c/a\u003e tests: Fix failing test by preventing warning conversion to error.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/a17b689a750d05b6fc9369f5fb2b06baaba83536\"\u003e\u003ccode\u003ea17b689\u003c/code\u003e\u003c/a\u003e test: add pytest config to isolated test directories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/18afc9df5a3153dc1fbdc4e11a56517ef95480df\"\u003e\u003ccode\u003e18afc9d\u003c/code\u003e\u003c/a\u003e fix(tests): replace runpytest_subprocess with runpytest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/commit/cdc6bd1de75b4738289eafd546f5e27a0bfd3b41\"\u003e\u003ccode\u003ecdc6bd1\u003c/code\u003e\u003c/a\u003e Add support for pytest 9 and drop Python 3.9 support\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest-asyncio/compare/v0.26.0...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `build` from 1.3.0 to 1.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/releases\"\u003ebuild's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/940\"\u003e#940\u003c/a\u003e, PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/943\"\u003e#943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1 (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/942\"\u003e#942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/950\"\u003e#950\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/945\"\u003e#945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed (PR \u003ca href=\"https://redirect.github.com/pypa/build/issues/921\"\u003e#921\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pypa/build/blob/main/CHANGELOG.rst\"\u003ebuild's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e1.4.0 (2026-01-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--quiet\u003c/code\u003e flag\n(:pr:\u003ccode\u003e947\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eAdd option to dump PEP 517 metadata with \u003ccode\u003e--metadata\u003c/code\u003e\n(:pr:\u003ccode\u003e940\u003c/code\u003e, :pr:\u003ccode\u003e943\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eUV\u003c/code\u003e environment variable\n(:pr:\u003ccode\u003e971\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eRemove a workaround for 3.14b1\n(:pr:\u003ccode\u003e960\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn 3.14 final release, \u003ccode\u003ecolor\u003c/code\u003e defaults to \u003ccode\u003eTrue\u003c/code\u003e already\n(:pr:\u003ccode\u003e962\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003ePass sp-repo-review\n(:pr:\u003ccode\u003e942\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn pytest configuration, \u003ccode\u003elog_level\u003c/code\u003e is better than \u003ccode\u003elog_cli_level\u003c/code\u003e\n(:pr:\u003ccode\u003e950\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eSplit up typing and mypy\n(:pr:\u003ccode\u003e944\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003etypes-colorama\u003c/code\u003e\n(:pr:\u003ccode\u003e945\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eIn docs, first argument for \u003ccode\u003e_has_dependency\u003c/code\u003e is a name\n(PR :pr:\u003ccode\u003e970\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eFix test failure when \u003ccode\u003eflit-core\u003c/code\u003e is installed\n(PR :pr:\u003ccode\u003e921\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/54f238d1664124e06a68c6c22fd5b1418fa5feb2\"\u003e\u003ccode\u003e54f238d\u003c/code\u003e\u003c/a\u003e chore: prepare for 1.4.0 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/972\"\u003e#972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/f219276a6e2c6c8222780ba518ce52444a91deaa\"\u003e\u003ccode\u003ef219276\u003c/code\u003e\u003c/a\u003e docs: first argument for _has_dependency is a name (\u003ca href=\"https://redirect.github.com/pypa/build/issues/970\"\u003e#970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/7adb29e69d2744acc5391d3c58d234388a9ac0ed\"\u003e\u003ccode\u003e7adb29e\u003c/code\u003e\u003c/a\u003e fix: support UV environment variable (\u003ca href=\"https://redirect.github.com/pypa/build/issues/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/a40623b20de5d29c80b569283191d65e630f4fc0\"\u003e\u003ccode\u003ea40623b\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/attest-build-provenance in the actions group (\u003ca href=\"https://redirect.github.com/pypa/build/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/c8fae3459dbe4456d82d705c6a3f1869b0b26e5c\"\u003e\u003ccode\u003ec8fae34\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories (\u003ca href=\"https://redirect.github.com/pypa/build/issues/965\"\u003e#965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/ed9c379f51abca7c0c0ae20bee66aa548d597dc3\"\u003e\u003ccode\u003eed9c379\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/download-artifact in the actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/0e44fd22f35c7b3c14d6410bbd8912dafba0e4a9\"\u003e\u003ccode\u003e0e44fd2\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003equiet\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/pypa/build/issues/947\"\u003e#947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/60e15ed4cb31209f0e07de750c831cdb3911c62c\"\u003e\u003ccode\u003e60e15ed\u003c/code\u003e\u003c/a\u003e chore: color defaults to True in 3.14 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/962\"\u003e#962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/0486d9df2e6caf7c04a3991824093eb6a16e7f29\"\u003e\u003ccode\u003e0486d9d\u003c/code\u003e\u003c/a\u003e pre-commit: bump repositories (\u003ca href=\"https://redirect.github.com/pypa/build/issues/961\"\u003e#961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pypa/build/commit/393b775480523247c1ad07b8da9bb8c23c5cd0fa\"\u003e\u003ccode\u003e393b775\u003c/code\u003e\u003c/a\u003e MNT: remove workaround for 3.14b1 (\u003ca href=\"https://redirect.github.com/pypa/build/issues/960\"\u003e#960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pypa/build/compare/1.3.0...1.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `greenlet` from 3.3.0 to 3.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst\"\u003egreenlet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.3.1 (2026-01-23)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePublish Windows ARM binary wheels, where available.\u003c/li\u003e\n\u003cli\u003eFix compilation for 3.14t on Windows.\u003c/li\u003e\n\u003cli\u003ePublish Windows 3.14t binary wheels for Intel.\u003c/li\u003e\n\u003cli\u003eSwitch from Appveyor for Windows to Github Actions.\u003c/li\u003e\n\u003cli\u003eFix compilation on MIPS with GCC 15 and binutils 2.45. See \u003ccode\u003ePR 487 by Rosen Penev \u0026lt;https://github.com/python-greenlet/greenlet/pull/487\u0026gt;\u003c/code\u003e_. Note that\nthis is not a platform tested by this project's CI.\u003c/li\u003e\n\u003cli\u003eMove most project metadata into the static \u003ccode\u003epyproject.toml\u003c/code\u003e file.\nThis updates licensing information to use the modern\n\u003ccode\u003eLicense-Expression\u003c/code\u003e field. See \u003ccode\u003ePR 480 by mrbean-bremen \u0026lt;https://github.com/python-greenlet/greenlet/pull/480/\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/d1a0a3fa740425b8dd4dceafbecedda21d70cc08\"\u003e\u003ccode\u003ed1a0a3f\u003c/code\u003e\u003c/a\u003e Preparing release 3.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/bb11806a5b59bda374d097bd3479874c6651daab\"\u003e\u003ccode\u003ebb11806\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/482\"\u003e#482\u003c/a\u003e from tacaswell/cp315_compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/07089655734136eb5a78b67607d1c493e0155301\"\u003e\u003ccode\u003e0708965\u003c/code\u003e\u003c/a\u003e Change note for \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/480\"\u003e#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/62ff68fbe3b01a51f0c113537bfd71c466e2bf4f\"\u003e\u003ccode\u003e62ff68f\u003c/code\u003e\u003c/a\u003e pyproject: It's tool.zest-releaser, not tools.zest-releaser.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/7081130b399dd47602a90e75924c5c5cd66b6085\"\u003e\u003ccode\u003e7081130\u003c/code\u003e\u003c/a\u003e Move most of setuptools attributes to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/b462f7521ca17947720d879c15dec7c5147812af\"\u003e\u003ccode\u003eb462f75\u003c/code\u003e\u003c/a\u003e Add change note for \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/487\"\u003e#487\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/918e88850ffba91ec7492f42e7e33b7ff2c90534\"\u003e\u003ccode\u003e918e888\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/486\"\u003e#486\u003c/a\u003e from python-greenlet/dependabot/github_actions/github...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/c5e2e6f7e674d26f418fb2e3c3cc851e80c92cc7\"\u003e\u003ccode\u003ec5e2e6f\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5 to 6 in the github-actions group\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/54f257d775cea6ef16b80ea5aa69e18ffba553db\"\u003e\u003ccode\u003e54f257d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/487\"\u003e#487\u003c/a\u003e from neheb/mips\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-greenlet/greenlet/commit/b2cf41d90f9b654029ce6039293511da91a46b35\"\u003e\u003ccode\u003eb2cf41d\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/python-greenlet/greenlet/issues/490\"\u003e#490\u003c/a\u003e from python-greenlet/windows-on-github\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python-greenlet/greenlet/compare/3.3.0...3.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyright` from 1.1.407 to 1.1.408\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RobertCraigie/pyright-python/commit/81b795a41ddcc3c77218d8c8e406983e39852285\"\u003e\u003ccode\u003e81b795a\u003c/code\u003e\u003c/a\u003e Pyright NPM Package update to 1.1.408 (\u003ca href=\"https://redirect.github.com/RobertCraigie/pyright-python/issues/357\"\u003e#357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RobertCraigie/pyright-python/compare/v1.1.407...v1.1.408\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.10 to 0.14.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.14\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-22.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve required parentheses in lambda bodies (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22747\"\u003e#22747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCombine range suppression code diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Second positional argument to \u003ccode\u003eAsset\u003c/code\u003e/\u003ccode\u003eDataset\u003c/code\u003e should not be a dictionary (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22453\"\u003e#22453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Detect duplicate entries in \u003ccode\u003e__all__\u003c/code\u003e (\u003ccode\u003eRUF068\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22114\"\u003e#22114\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Allow shadowing non-builtin bindings (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22749\"\u003e#22749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pie\u003c/code\u003e] Detect duplicated declared class fields in \u003ccode\u003ePIE794\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22717\"\u003e#22717\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e, \u003ccode\u003e__enter__\u003c/code\u003e, \u003ccode\u003e__aenter__\u003c/code\u003e in \u003ccode\u003ePYI034\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22798\"\u003e#22798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Support \u003ccode\u003echeck\u003c/code\u003e parameter in \u003ccode\u003ePT011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22725\"\u003e#22725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add exception for \u003ccode\u003ectypes.Structure._fields_\u003c/code\u003e (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22559\"\u003e#22559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany fixes are now marked unsafe if they would remove comments:\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22656\"\u003e\u003ccode\u003eB009\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22657\"\u003e\u003ccode\u003eB010\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22658\"\u003e\u003ccode\u003eB013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22659\"\u003e\u003ccode\u003eB014\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22632\"\u003e\u003ccode\u003eB033\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22662\"\u003e\u003ccode\u003eSIM910\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22661\"\u003e\u003ccode\u003eSIM911\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22774\"\u003e\u003ccode\u003eUP039\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22773\"\u003e\u003ccode\u003eUP041\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP045\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22767\"\u003e\u003ccode\u003eFURB105\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22681\"\u003e\u003ccode\u003eFURB116\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22680\"\u003e\u003ccode\u003eFURB136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22679\"\u003e\u003ccode\u003eFURB140\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22670\"\u003e\u003ccode\u003eFURB145\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22669\"\u003e\u003ccode\u003eFURB154\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22668\"\u003e\u003ccode\u003eFURB157\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22667\"\u003e\u003ccode\u003eFURB164\u003c/code\u003e\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22666\"\u003e\u003ccode\u003eFURB181\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22665\"\u003e\u003ccode\u003eFURB188\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22663\"\u003e\u003ccode\u003eRUF019\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22664\"\u003e\u003ccode\u003eRUF020\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--exit-non-zero-on-format\u003c/code\u003e to formatter exit codes section (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22761\"\u003e#22761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eFastAPI\u003c/code\u003e] Document fix safety for \u003ccode\u003eFAST001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22655\"\u003e#22655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Tweak explanation to focus on latency/efficiency tradeoff (\u003ccode\u003eASYNC110\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22715\"\u003e#22715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003ePD002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22561\"\u003e#22561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22770\"\u003e#22770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22769\"\u003e#22769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/caiquejjx\"\u003e\u003ccode\u003e@​caiquejjx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sjyangkevin\"\u003e\u003ccode\u003e@​sjyangkevin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/0.14.14/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.14\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-22.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve required parentheses in lambda bodies (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22747\"\u003e#22747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCombine range suppression code diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22613\"\u003e#22613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Second positional argument to \u003ccode\u003eAsset\u003c/code\u003e/\u003ccode\u003eDataset\u003c/code\u003e should not be a dictionary (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22453\"\u003e#22453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Detect duplicate entries in \u003ccode\u003e__all__\u003c/code\u003e (\u003ccode\u003eRUF068\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22114\"\u003e#22114\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Allow shadowing non-builtin bindings (\u003ccode\u003eUP029\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22749\"\u003e#22749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pie\u003c/code\u003e] Detect duplicated declared class fields in \u003ccode\u003ePIE794\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22717\"\u003e#22717\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e, \u003ccode\u003e__enter__\u003c/code\u003e, \u003ccode\u003e__aenter__\u003c/code\u003e in \u003ccode\u003ePYI034\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22798\"\u003e#22798\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pytest-style\u003c/code\u003e] Support \u003ccode\u003echeck\u003c/code\u003e parameter in \u003ccode\u003ePT011\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22725\"\u003e#22725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add exception for \u003ccode\u003ectypes.Structure._fields_\u003c/code\u003e (\u003ccode\u003eRUF012\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22559\"\u003e#22559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMany fixes are now marked unsafe if they would remove comments:\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22656\"\u003e\u003ccode\u003eB009\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22657\"\u003e\u003ccode\u003eB010\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22658\"\u003e\u003ccode\u003eB013\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22659\"\u003e\u003ccode\u003eB014\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22632\"\u003e\u003ccode\u003eB033\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22662\"\u003e\u003ccode\u003eSIM910\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22661\"\u003e\u003ccode\u003eSIM911\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP007\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22774\"\u003e\u003ccode\u003eUP039\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22773\"\u003e\u003ccode\u003eUP041\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22772\"\u003e\u003ccode\u003eUP045\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22767\"\u003e\u003ccode\u003eFURB105\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22681\"\u003e\u003ccode\u003eFURB116\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22680\"\u003e\u003ccode\u003eFURB136\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22679\"\u003e\u003ccode\u003eFURB140\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22670\"\u003e\u003ccode\u003eFURB145\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22669\"\u003e\u003ccode\u003eFURB154\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22668\"\u003e\u003ccode\u003eFURB157\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22667\"\u003e\u003ccode\u003eFURB164\u003c/code\u003e\u003c/a\u003e,\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22666\"\u003e\u003ccode\u003eFURB181\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22665\"\u003e\u003ccode\u003eFURB188\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22663\"\u003e\u003ccode\u003eRUF019\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22664\"\u003e\u003ccode\u003eRUF020\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--exit-non-zero-on-format\u003c/code\u003e to formatter exit codes section (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22761\"\u003e#22761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eFastAPI\u003c/code\u003e] Document fix safety for \u003ccode\u003eFAST001\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22655\"\u003e#22655\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Tweak explanation to focus on latency/efficiency tradeoff (\u003ccode\u003eASYNC110\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22715\"\u003e#22715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epandas-vet\u003c/code\u003e] Make example error out-of-the-box (\u003ccode\u003ePD002\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22561\"\u003e#22561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB101\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22770\"\u003e#22770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Make the example work out of box (\u003ccode\u003eFURB103\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22769\"\u003e#22769\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alejsdev\"\u003e\u003ccode\u003e@​alejsdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/caiquejjx\"\u003e\u003ccode\u003e@​caiquejjx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/chirizxc\"\u003e\u003ccode\u003e@​chirizxc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/denyszhak\"\u003e\u003ccode\u003e@​denyszhak\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sjyangkevin\"\u003e\u003ccode\u003e@​sjyangkevin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MeGaGiGaGon\"\u003e\u003ccode\u003e@​MeGaGiGaGon\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/leandrobbraga\"\u003e\u003ccode\u003e@​leandrobbraga\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/8b2e7b36f246b990fe473a84eef25ff429e59ecf\"\u003e\u003ccode\u003e8b2e7b3\u003c/code\u003e\u003c/a\u003e Prepare release v0.14.14 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22813\"\u003e#22813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/4c7d1f50fd8d1baf06a3c8885ecd0ded0113d383\"\u003e\u003ccode\u003e4c7d1f5\u003c/code\u003e\u003c/a\u003e [ty] Infer \u003ccode\u003eTypedDict\u003c/code\u003e types with \u0026gt;=1 required key as being always truthy (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/2\"\u003e#2\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b7de4341535ff2b299695335e0a7b9ebaf297348\"\u003e\u003ccode\u003eb7de434\u003c/code\u003e\u003c/a\u003e add CCfW hooks (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22803\"\u003e#22803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b912dfc8788f8f8c351767899df6b72ce3366352\"\u003e\u003ccode\u003eb912dfc\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003epyupgrade\u003c/code\u003e] Apply \u003ccode\u003eUP045\u003c/code\u003e to string arguments of \u003ccode\u003etyping.cast\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22320\"\u003e#22320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/1ff062d1cccb8025de184a55c6dfe469a4293249\"\u003e\u003ccode\u003e1ff062d\u003c/code\u003e\u003c/a\u003e [ty] Improve completion rankings for raise-from/except contexts (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22775\"\u003e#22775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7e408a51d24db2bca248bb90f2f7938f83efd22b\"\u003e\u003ccode\u003e7e408a5\u003c/code\u003e\u003c/a\u003e Update dependency wrangler to v4.59.1 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22793\"\u003e#22793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/ceb876b82300bd237d11e3eb77c46fcf3d3afe85\"\u003e\u003ccode\u003eceb876b\u003c/code\u003e\u003c/a\u003e [\u003ccode\u003eflake8-pyi\u003c/code\u003e] Fix inconsistent handling of forward references for \u003ccode\u003e__new__\u003c/code\u003e,...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/c5b4ee68c90faf0e609fa6553a171a7ba60ebdcb\"\u003e\u003ccode\u003ec5b4ee6\u003c/code\u003e\u003c/a\u003e [ty] Support solving generics involving PEP 695 type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22678\"\u003e#22678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b9a61293153f43df9963c727539309b76ac4756d\"\u003e\u003ccode\u003eb9a6129\u003c/code\u003e\u003c/a\u003e [ty] Improve support for kwarg splats in dictionary literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22781\"\u003e#22781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/f516d47ceb7f6a0c3a95eaaa2c7451a32b5d7120\"\u003e\u003ccode\u003ef516d47\u003c/code\u003e\u003c/a\u003e Update contributing guide for adding a new rule (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/22779\"\u003e#22779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.14.10...0.14.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tombi` from 0.7.14 to 0.7.25\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tombi-toml/tombi/releases\"\u003etombi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.25\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🛠️ Other Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: update JSON schema to use patternProperties and disable additionalProperties for better validation by \u003ca href=\"https://github.com/ya7010\"\u003e\u003ccode\u003e@​ya7010\u003c/cod...\n\n_Description has been truncated_","html_url":"https://github.com/donvargax/adk-ddd/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/donvargax%2Fadk-ddd/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"2025.12.0","new_version":"2026.1.0","update_type":"major","path":null,"pr_created_at":"2026-01-30T07:14:52.000Z","version_change":"2025.12.0 → 2026.1.0","issue":{"uuid":"3874370608","node_id":"PR_kwDOChdfis7AUy5o","number":8782,"state":"open","title":"chore(deps): bump gcsfs from 2025.12.0 to 2026.1.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-30T07:14:52.000Z","updated_at":"2026-01-30T07:28:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"gcsfs","old_version":"2025.12.0","new_version":"2026.1.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Bumps [gcsfs](https://github.com/fsspec/gcsfs) from 2025.12.0 to 2026.1.0.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/3ed414aa2c5e5a78556726be11d663ff346bab40\"\u003e\u003ccode\u003e3ed414a\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/bca0139193d8dd8103fc52bfa5caf2ffd2172e6a\"\u003e\u003ccode\u003ebca0139\u003c/code\u003e\u003c/a\u003e Implement async upload methods and support async mode in ExtendedGcsfs (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9d64f5c5c74c59c840f440f82288f047bf557a3f\"\u003e\u003ccode\u003e9d64f5c\u003c/code\u003e\u003c/a\u003e mkdir override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/4f9f4ac35f1df42dacfb56f9be200730058fd5ef\"\u003e\u003ccode\u003e4f9f4ac\u003c/code\u003e\u003c/a\u003e reformat benchmark readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/cdd65f5808f6864bd8bed08e7bb7a9359ab0cbe7\"\u003e\u003ccode\u003ecdd65f5\u003c/code\u003e\u003c/a\u003e Adds GCSFS Microbenchmarks (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/722\"\u003e#722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c8ed96a77d027115b436cd9062825f703955b891\"\u003e\u003ccode\u003ec8ed96a\u003c/code\u003e\u003c/a\u003e ✨ Support alternative GCP Universes (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e03bf2949664282d4eb09ba18c62a2d98085cba9\"\u003e\u003ccode\u003ee03bf29\u003c/code\u003e\u003c/a\u003e Override info for hns (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14276d82827f21c1ee6b736ff7896ae4211cc726\"\u003e\u003ccode\u003e14276d8\u003c/code\u003e\u003c/a\u003e Update ci pipeline to run tests on HNS bucket (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/729\"\u003e#729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c5ac0e3e65154d4d5ec1d1de1566a7b1ea7781d3\"\u003e\u003ccode\u003ec5ac0e3\u003c/code\u003e\u003c/a\u003e feat(zb-write): Support write mode in Zonal File (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/06399c09003b66292bf25206e500796a8855ce72\"\u003e\u003ccode\u003e06399c0\u003c/code\u003e\u003c/a\u003e Adds mv/rename method implementation for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/727\"\u003e#727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.12.0...2026.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gcsfs\u0026package-manager=pip\u0026previous-version=2025.12.0\u0026new-version=2026.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/mozilla/bigquery-etl/pull/8782","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fbigquery-etl/issues/8782","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8782/packages"}},{"old_version":"2025.10.0","new_version":"2026.1.0","update_type":"major","path":null,"pr_created_at":"2026-01-22T11:03:24.000Z","version_change":"2025.10.0 → 2026.1.0","issue":{"uuid":"3842411329","node_id":"PR_kwDOMeYp8M6-q355","number":373,"state":"open","title":"Bump the python-dependencies group across 1 directory with 22 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-22T11:03:24.000Z","updated_at":"2026-01-22T11:39:53.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-dependencies","update_count":22,"packages":[{"name":"dapla-auth-client","old_version":"1.2.1","new_version":"1.2.5","repository_url":"https://github.com/statisticsnorway/dapla-auth-client"},{"name":"gcsfs","old_version":"2025.10.0","new_version":"2026.1.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"google-auth","old_version":"2.43.0","new_version":"2.47.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"pyarrow","old_version":"22.0.0","new_version":"23.0.0","repository_url":"https://github.com/apache/arrow"},{"name":"ruamel-yaml","old_version":"0.18.16","new_version":"0.19.1"},{"name":"ssb-datadoc-model","old_version":"8.0.0","new_version":"8.0.3","repository_url":"https://github.com/statisticsnorway/ssb-datadoc-model"},{"name":"universal-pathlib","old_version":"0.3.6","new_version":"0.3.8","repository_url":"https://github.com/fsspec/universal_pathlib"},{"name":"urllib3","old_version":"2.5.0","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"pre-commit","old_version":"4.5.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"ruff","old_version":"0.14.7","new_version":"0.14.13","repository_url":"https://github.com/astral-sh/ruff"},{"name":"furo","old_version":"2025.9.25","new_version":"2025.12.19","repository_url":"https://github.com/pradyunsg/furo"},{"name":"sphinx-click","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/click-contrib/sphinx-click"},{"name":"faker","old_version":"38.2.0","new_version":"40.1.2","repository_url":"https://github.com/joke2k/faker"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"mypy","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"pandas-stubs","old_version":"2.3.3.251201","new_version":"2.3.3.260113","repository_url":"https://github.com/pandas-dev/pandas-stubs"},{"name":"pyarrow-stubs","old_version":"20.0.0.20251107","new_version":"20.0.0.20251215","repository_url":"https://github.com/zen-xu/pyarrow-stubs"},{"name":"types-docker","old_version":"7.1.0.20251129","new_version":"7.1.0.20260109","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-requests","old_version":"2.32.4.20250913","new_version":"2.32.4.20260107","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-setuptools","old_version":"80.9.0.20250822","new_version":"80.9.0.20251223","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nRebasing might not happen immediately, so don't worry if this takes some time.\n\nNote: if you make any changes to this PR yourself, they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps the python-dependencies group with 20 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [dapla-auth-client](https://github.com/statisticsnorway/dapla-auth-client) | `1.2.1` | `1.2.5` |\n| [gcsfs](https://github.com/fsspec/gcsfs) | `2025.10.0` | `2026.1.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.43.0` | `2.47.0` |\n| [pyarrow](https://github.com/apache/arrow) | `22.0.0` | `23.0.0` |\n| ruamel-yaml | `0.18.16` | `0.19.1` |\n| [ssb-datadoc-model](https://github.com/statisticsnorway/ssb-datadoc-model) | `8.0.0` | `8.0.3` |\n| [universal-pathlib](https://github.com/fsspec/universal_pathlib) | `0.3.6` | `0.3.8` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.5.0` | `2.6.3` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.0` | `4.5.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.7` | `0.14.13` |\n| [furo](https://github.com/pradyunsg/furo) | `2025.9.25` | `2025.12.19` |\n| [sphinx-click](https://github.com/click-contrib/sphinx-click) | `6.1.0` | `6.2.0` |\n| [faker](https://github.com/joke2k/faker) | `38.2.0` | `40.1.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.2` |\n| [mypy](https://github.com/python/mypy) | `1.19.0` | `1.19.1` |\n| [pandas-stubs](https://github.com/pandas-dev/pandas-stubs) | `2.3.3.251201` | `2.3.3.260113` |\n| [pyarrow-stubs](https://github.com/zen-xu/pyarrow-stubs) | `20.0.0.20251107` | `20.0.0.20251215` |\n| [types-docker](https://github.com/typeshed-internal/stub_uploader) | `7.1.0.20251129` | `7.1.0.20260109` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.4.20250913` | `2.32.4.20260107` |\n| [types-setuptools](https://github.com/typeshed-internal/stub_uploader) | `80.9.0.20250822` | `80.9.0.20251223` |\n\n\nUpdates `dapla-auth-client` from 1.2.1 to 1.2.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/releases\"\u003edapla-auth-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.5\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrate from poetry to uv build tool (\u003ca href=\"https://redirect.github.com/statisticsnorway/dapla-auth-client/issues/41\"\u003e#41\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ecompatibility 3.10 (\u003ca href=\"https://redirect.github.com/statisticsnorway/dapla-auth-client/issues/45\"\u003e#45\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ecompatibility 3.10 (\u003ca href=\"https://redirect.github.com/statisticsnorway/dapla-auth-client/issues/45\"\u003e#45\u003c/a\u003e) \u003ca href=\"https://github.com/aecorn\"\u003e\u003ccode\u003e@​aecorn\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-action-dependencies group across 1 directory with 8 updates (\u003ca href=\"https://redirect.github.com/statisticsnorway/dapla-auth-client/issues/43\"\u003e#43\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump uv from 0.9.10 to 0.9.25 in /.github/workflows in the workflows-dependencies group across 1 directory (\u003ca href=\"https://redirect.github.com/statisticsnorway/dapla-auth-client/issues/42\"\u003e#42\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.2.3\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange constraint to supporting Python 3.10 (\u003ca href=\"https://redirect.github.com/statisticsnorway/dapla-auth-client/issues/39\"\u003e#39\u003c/a\u003e) \u003ca href=\"https://github.com/mallport\"\u003e\u003ccode\u003e@​mallport\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.2.2\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix dependency constraints (\u003ca href=\"https://redirect.github.com/statisticsnorway/dapla-auth-client/issues/37\"\u003e#37\u003c/a\u003e) \u003ca href=\"https://github.com/mallport\"\u003e\u003ccode\u003e@​mallport\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/167189fbc03bbd582686aefaabf2035ff69785b5\"\u003e\u003ccode\u003e167189f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/dapla-auth-client/issues/45\"\u003e#45\u003c/a\u003e from statisticsnorway/compatibility-python-310\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/4a9ef71858a52eab4e7c532207f7da3d37fb8307\"\u003e\u003ccode\u003e4a9ef71\u003c/code\u003e\u003c/a\u003e Bump release version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/c7f0416bf50f5b67d5ec99a13f74e03beef45b11\"\u003e\u003ccode\u003ec7f0416\u003c/code\u003e\u003c/a\u003e uv lock aaa\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/57f3b0edf58c00d41fcea745a458de81ab64735e\"\u003e\u003ccode\u003e57f3b0e\u003c/code\u003e\u003c/a\u003e bump version of package to make release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/6ad8ca0f7102323edd53de4a7f61d7945227a8bc\"\u003e\u003ccode\u003e6ad8ca0\u003c/code\u003e\u003c/a\u003e needs uv lock man\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/3d7201084dfbef1ddc8731e6f895710936fcb2b6\"\u003e\u003ccode\u003e3d72010\u003c/code\u003e\u003c/a\u003e dont f with the lock files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/c0aee5908a23d70acf101280cb082c5195ff4444\"\u003e\u003ccode\u003ec0aee59\u003c/code\u003e\u003c/a\u003e ruff did not f up when conscious of python 3.10 in pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/8726c65092c6f7e2957cbff4e0cfdb09b4b2ab72\"\u003e\u003ccode\u003e8726c65\u003c/code\u003e\u003c/a\u003e Merge branch 'compatibility-python-310' of \u003ca href=\"https://github.com/statisticsnorwa\"\u003ehttps://github.com/statisticsnorwa\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/99cfc1f573992066e3e8b622b5e1ad6d9bd11d5c\"\u003e\u003ccode\u003e99cfc1f\u003c/code\u003e\u003c/a\u003e ruff is messing mah stuff man\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/commit/1b6899658260771f43292fa7086b00229a54b2f8\"\u003e\u003ccode\u003e1b68996\u003c/code\u003e\u003c/a\u003e pre-commit mah boy\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/statisticsnorway/dapla-auth-client/compare/v1.2.1...v1.2.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gcsfs` from 2025.10.0 to 2026.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/3ed414aa2c5e5a78556726be11d663ff346bab40\"\u003e\u003ccode\u003e3ed414a\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/bca0139193d8dd8103fc52bfa5caf2ffd2172e6a\"\u003e\u003ccode\u003ebca0139\u003c/code\u003e\u003c/a\u003e Implement async upload methods and support async mode in ExtendedGcsfs (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9d64f5c5c74c59c840f440f82288f047bf557a3f\"\u003e\u003ccode\u003e9d64f5c\u003c/code\u003e\u003c/a\u003e mkdir override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/4f9f4ac35f1df42dacfb56f9be200730058fd5ef\"\u003e\u003ccode\u003e4f9f4ac\u003c/code\u003e\u003c/a\u003e reformat benchmark readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/cdd65f5808f6864bd8bed08e7bb7a9359ab0cbe7\"\u003e\u003ccode\u003ecdd65f5\u003c/code\u003e\u003c/a\u003e Adds GCSFS Microbenchmarks (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/722\"\u003e#722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c8ed96a77d027115b436cd9062825f703955b891\"\u003e\u003ccode\u003ec8ed96a\u003c/code\u003e\u003c/a\u003e ✨ Support alternative GCP Universes (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e03bf2949664282d4eb09ba18c62a2d98085cba9\"\u003e\u003ccode\u003ee03bf29\u003c/code\u003e\u003c/a\u003e Override info for hns (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14276d82827f21c1ee6b736ff7896ae4211cc726\"\u003e\u003ccode\u003e14276d8\u003c/code\u003e\u003c/a\u003e Update ci pipeline to run tests on HNS bucket (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/729\"\u003e#729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c5ac0e3e65154d4d5ec1d1de1566a7b1ea7781d3\"\u003e\u003ccode\u003ec5ac0e3\u003c/code\u003e\u003c/a\u003e feat(zb-write): Support write mode in Zonal File (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/06399c09003b66292bf25206e500796a8855ce72\"\u003e\u003ccode\u003e06399c0\u003c/code\u003e\u003c/a\u003e Adds mv/rename method implementation for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/727\"\u003e#727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.10.0...2026.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.43.0 to 2.47.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-auth 2.47.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.46.0...v2.47.0\"\u003e2.47.0\u003c/a\u003e (2026-01-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1590\"\u003e#1590\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4\"\u003e5c07e1c4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc2001\"\u003e60dc2001\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.46.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.45.0...v2.46.0\"\u003e2.46.0\u003c/a\u003e (2026-01-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecognize workload certificate config in has_default_client_cert_source for mTLS for Agentic Identities (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1907\"\u003e#1907\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d5\"\u003e0b9107d5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix test coverage for mtls_helper (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1886\"\u003e#1886\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/02e71631\"\u003e02e71631\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003euse .read() instead of .content.read() in aiohttp transport (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1899\"\u003e#1899\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/12f4470f\"\u003e12f4470f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd types to default and verify_token and Request \u003cstrong\u003einit\u003c/strong\u003e based on comments in the source code. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1588\"\u003e#1588\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/59a5f588\"\u003e59a5f588\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix the document of secure_authorized_session (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1536\"\u003e#1536\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d001470\"\u003e5d001470\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eraise RefreshError for missing token in impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1897\"\u003e#1897\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/94d04e09\"\u003e94d04e09\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eremove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1693\"\u003e#1693\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c767531c\"\u003ec767531c\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate urllib3 docstrings for v2 compatibility (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1903\"\u003e#1903\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f1aeea2\"\u003e3f1aeea2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.45.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.44.0...v2.45.0\"\u003e2.45.0\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Agent Identity bound token support and handling certificate mismatches with retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1890\"\u003e#1890\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e\"\u003eb32c934e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.44.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95\"\u003e0387bb95\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.46.0...v2.47.0\"\u003e2.47.0\u003c/a\u003e (2026-01-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1590\"\u003e#1590\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\"\u003e5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\"\u003e60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.45.0...v2.46.0\"\u003e2.46.0\u003c/a\u003e (2026-01-05)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate urllib3 docstrings for v2 compatibility (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1903\"\u003e#1903\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f1aeea2d1014ea1d244a4c3470e52d74d55404b\"\u003e3f1aeea2d1014ea1d244a4c3470e52d74d55404b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecognize workload certificate config in has_default_client_cert_source for mTLS for Agentic Identities (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1907\"\u003e#1907\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d573123e358c347ffa067637f992af61b4\"\u003e0b9107d573123e358c347ffa067637f992af61b4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd types to default and verify_token and Request \u003cstrong\u003einit\u003c/strong\u003e based on comments in the source code. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1588\"\u003e#1588\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/59a5f588f7793b59d923a4185c8c07738da618f7\"\u003e59a5f588f7793b59d923a4185c8c07738da618f7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix the document of secure_authorized_session (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1536\"\u003e#1536\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d0014707fc359782df5ccfcaa75fd372fe9dce3\"\u003e5d0014707fc359782df5ccfcaa75fd372fe9dce3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1693\"\u003e#1693\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c767531ce05a89002d109f595187aff1fcaacfb7\"\u003ec767531ce05a89002d109f595187aff1fcaacfb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse .read() instead of .content.read() in aiohttp transport (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1899\"\u003e#1899\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/12f4470f808809e8abf1141f98d88ab720c3899b\"\u003e12f4470f808809e8abf1141f98d88ab720c3899b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eraise RefreshError for missing token in impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1897\"\u003e#1897\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/94d04e090fdfc61926dd32bc1d65f8820b9cede5\"\u003e94d04e090fdfc61926dd32bc1d65f8820b9cede5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix test coverage for mtls_helper (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1886\"\u003e#1886\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/02e71631fe275d93825c2e957e830773e75133f7\"\u003e02e71631fe275d93825c2e957e830773e75133f7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.44.0...v2.45.0\"\u003e2.45.0\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Agent Identity bound token support and handling certificate mismatches with retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1890\"\u003e#1890\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e6b0d09b94c467cd432a0a635e8b05f5c\"\u003eb32c934e6b0d09b94c467cd432a0a635e8b05f5c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e78f247665b6ef0287d482033f7be2ed6d\"\u003e0f7097e78f247665b6ef0287d482033f7be2ed6d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5f6881b590025f36d333d12eff8dc60fc\"\u003e39c381a5f6881b590025f36d333d12eff8dc60fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95713653d47e846cad3a010eb55ef2db4c\"\u003e0387bb95713653d47e846cad3a010eb55ef2db4c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement token revocation in STS client and add revoke() metho… (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1849\"\u003e#1849\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/d5638986ca03ee95bfffa9ad821124ed7e903e63\"\u003ed5638986ca03ee95bfffa9ad821124ed7e903e63\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/googleapis/google-auth-library-python/commit/f32301a03372eb72a8b5542a4cc223e01ee1e33b\"\u003e\u003ccode\u003ef32301a\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260106T130342Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1922\"\u003e#1922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/25f4ca658c1880c7a27ed817ded4c17d84c26854\"\u003e\u003ccode\u003e25f4ca6\u003c/code\u003e\u003c/a\u003e chore: remove Python 3.7 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1919\"\u003e#1919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\"\u003e\u003ccode\u003e60dc200\u003c/code\u003e\u003c/a\u003e fix: Python 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\"\u003e\u003ccode\u003e5c07e1c\u003c/code\u003e\u003c/a\u003e feat: drop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/2cbc2a2e2e75e8797bf3709eb1e624ad39e7e7d4\"\u003e\u003ccode\u003e2cbc2a2\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260105T122553Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1913\"\u003e#1913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5b7b5d83adafe275351989a96328472b1845c4be\"\u003e\u003ccode\u003e5b7b5d8\u003c/code\u003e\u003c/a\u003e chore: librarian update image pull request: 20260105T112538Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1912\"\u003e#1912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/7dbf05a56c5c8f1c01f985af140dc8c5ea29656a\"\u003e\u003ccode\u003e7dbf05a\u003c/code\u003e\u003c/a\u003e chore: rename _refresh_token to _perform_refresh_token (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1900\"\u003e#1900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/855a45af913a5d099e30036b80d8ba3b0c324a62\"\u003e\u003ccode\u003e855a45a\u003c/code\u003e\u003c/a\u003e chore(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1894\"\u003e#1894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/77c8bc48b5638cbe8c4415fdd378853e9db6e156\"\u003e\u003ccode\u003e77c8bc4\u003c/code\u003e\u003c/a\u003e tests: make the TLS tests skip when pyopenssl isn't available (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1873\"\u003e#1873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d573123e358c347ffa067637f992af61b4\"\u003e\u003ccode\u003e0b9107d\u003c/code\u003e\u003c/a\u003e feat: Recognize workload certificate config in has_default_client_cert_source...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.47.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pyarrow` from 22.0.0 to 23.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/arrow/releases\"\u003epyarrow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eApache Arrow 23.0.0\u003c/h2\u003e\n\u003cp\u003eRelease Notes URL: \u003ca href=\"https://arrow.apache.org/release/23.0.0.html\"\u003ehttps://arrow.apache.org/release/23.0.0.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eApache Arrow 23.0.0 RC2\u003c/h2\u003e\n\u003cp\u003eRelease Notes: Release Candidate: 23.0.0 RC2\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/apache/arrow/commit/eafe3a9e620cf94683dee2347f370c35156dc965\"\u003e\u003ccode\u003eeafe3a9\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update versions for 23.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/45781e854cc9248013349decc4639644871d9f5f\"\u003e\u003ccode\u003e45781e8\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update .deb/.rpm changelogs for 23.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/365e5aca5a1ae2cdc31e6bd4ed640bfba00d5cc5\"\u003e\u003ccode\u003e365e5ac\u003c/code\u003e\u003c/a\u003e MINOR: [Release] Update CHANGELOG.md for 23.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/e33512d1d82c28e753004d0d7a76c1dca542b1cd\"\u003e\u003ccode\u003ee33512d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48841\"\u003eGH-48841\u003c/a\u003e: [Release][Package] Add GH_TOKEN to rake build step on Linux Packagi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/86d28e9d55f8d0f11634b4a2a19233fa843d9261\"\u003e\u003ccode\u003e86d28e9\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48838\"\u003eGH-48838\u003c/a\u003e: [Release] Use gh cli to download sources for Linux packages and pub...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/b6362d09204136dbf2167fee8ec8ec2af0efe42d\"\u003e\u003ccode\u003eb6362d0\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48582\"\u003eGH-48582\u003c/a\u003e: [CI][GPU][C++][Python] Add new CUDA jobs using the new self-hosted ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8fb7a53f0e2d0fa85ccdc6dd7ccda44dec6ee0d9\"\u003e\u003ccode\u003e8fb7a53\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48827\"\u003eGH-48827\u003c/a\u003e: [CI][Python] Add required xz dependency to emscripten dockerfile (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/342c5d563005709eab03dde332e44bcb237385fc\"\u003e\u003ccode\u003e342c5d5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48809\"\u003eGH-48809\u003c/a\u003e: [CI] Fix homebrew-cpp with Mac by using formula-based dependency re...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/8955bbf7b266d7e293f5037bd20c3e2e983e004c\"\u003e\u003ccode\u003e8955bbf\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48631\"\u003eGH-48631\u003c/a\u003e: [R] Non-API calls: 'ATTRIB', 'SET_ATTRIB' (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48634\"\u003e#48634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/arrow/commit/b90a2b82d85b1479470b7f1bdd941c9a59ecd3d4\"\u003e\u003ccode\u003eb90a2b8\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/apache/arrow/issues/48314\"\u003eGH-48314\u003c/a\u003e: [Python] Compat with pandas 3.0 changed default datetime unit (\u003ca href=\"https://redirect.github.com/apache/arrow/issues/48319\"\u003e#48319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/arrow/compare/apache-arrow-22.0.0...apache-arrow-23.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruamel-yaml` from 0.18.16 to 0.19.1\n\nUpdates `ssb-datadoc-model` from 8.0.0 to 8.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/releases\"\u003essb-datadoc-model's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epython-v8.0.3\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:notebook: Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove date formatting on stable_identifier_version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/81\"\u003e#81\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ev8.0.2 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/80\"\u003e#80\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStable identifier version is a date (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate use restriction (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/72\"\u003e#72\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump document version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/70\"\u003e#70\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove fields from dataset to variable level (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/69\"\u003e#69\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pseudonymization_time from variables into pseudo object (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/65\"\u003e#65\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pseudonymization metadata into Variable structure (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/64\"\u003e#64\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:snake: Python\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove date formatting on stable_identifier_version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/81\"\u003e#81\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ev8.0.2 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/80\"\u003e#80\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStable identifier version is a date (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease Python v8.0.0 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/73\"\u003e#73\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate use restriction (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/72\"\u003e#72\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump document version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/70\"\u003e#70\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove fields from dataset to variable level (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/69\"\u003e#69\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly warn deprecation when relevant (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/68\"\u003e#68\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version 7.0.0 -\u0026gt; 7.0.1 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/66\"\u003e#66\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pseudonymization_time from variables into pseudo object (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/65\"\u003e#65\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pseudonymization metadata into Variable structure (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/64\"\u003e#64\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect project metadata (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/63\"\u003e#63\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:rocket: Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate use restriction (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/72\"\u003e#72\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove date formatting on stable_identifier_version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/81\"\u003e#81\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStable identifier version is a date (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove pseudonymization metadata into Variable structure (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/64\"\u003e#64\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epython-v8.0.2\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:notebook: Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ev8.0.2 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/80\"\u003e#80\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStable identifier version is a date (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate use restriction (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/72\"\u003e#72\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/a04b301d3615cfe0db25c82170cee401810f99a6\"\u003e\u003ccode\u003ea04b301\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/81\"\u003e#81\u003c/a\u003e from statisticsnorway/fix/fix-version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/2d21418bc6b3094cf210ad421f5903cd9e46f971\"\u003e\u003ccode\u003e2d21418\u003c/code\u003e\u003c/a\u003e [GENERATE] Pydantic models from JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/9b6487e0dafd6503b2a7efaa31923489d97c9195\"\u003e\u003ccode\u003e9b6487e\u003c/code\u003e\u003c/a\u003e Fix typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/39e0c73e24619bcde538c7562ee219e3307a3891\"\u003e\u003ccode\u003e39e0c73\u003c/code\u003e\u003c/a\u003e [GENERATE] Pydantic models from JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/61c924f4a331ac18701a02ad04230abfe41a0263\"\u003e\u003ccode\u003e61c924f\u003c/code\u003e\u003c/a\u003e Revert formatting of stable_identifier_version to date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/6216bfea619447e019f3f9cdb42518c4c5ca0973\"\u003e\u003ccode\u003e6216bfe\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/80\"\u003e#80\u003c/a\u003e from statisticsnorway/release/v8.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/838739f8331ba74c70e93d5365c17e3d6ef24ab7\"\u003e\u003ccode\u003e838739f\u003c/code\u003e\u003c/a\u003e [GENERATE] Pydantic models from JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/1d670b98c595a9def4104851f3717d0c38bc06c9\"\u003e\u003ccode\u003e1d670b9\u003c/code\u003e\u003c/a\u003e v8.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/1174a50159039f800e549cbdc82da341549a8dbb\"\u003e\u003ccode\u003e1174a50\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e from statisticsnorway/fix/stable-id-version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/16318d82bfe0c56ec23dad821e7bf97599f83bf8\"\u003e\u003ccode\u003e16318d8\u003c/code\u003e\u003c/a\u003e [GENERATE] Pydantic models from JSON Schema\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/compare/v8.0.0...v8.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `universal-pathlib` from 0.3.6 to 0.3.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fsspec/universal_pathlib/releases\"\u003euniversal-pathlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump the pip-dependencies group with 2 updates 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/fsspec/universal_pathlib/pull/501\"\u003efsspec/universal_pathlib#501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOC: describe UPath/s3fs behavior with \u003ccode\u003eis_dir()\u003c/code\u003e by \u003ca href=\"https://github.com/lagamura\"\u003e\u003ccode\u003e@​lagamura\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/503\"\u003efsspec/universal_pathlib#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not hardcode Python executable name by \u003ca href=\"https://github.com/avalentino\"\u003e\u003ccode\u003e@​avalentino\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/504\"\u003efsspec/universal_pathlib#504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etests: remove two unused helper functions introduced in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/492\"\u003e#492\u003c/a\u003e by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/505\"\u003efsspec/universal_pathlib#505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix iterdir behaviour when raising NotADirectory for all UPath subclasses by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/506\"\u003efsspec/universal_pathlib#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error behavior for the hardlink_to backport and symlink_to for upath.extensions by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/508\"\u003efsspec/universal_pathlib#508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix GitHub tests without a network connection by \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/509\"\u003efsspec/universal_pathlib#509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etests: split base test cases into joinable/readable/writable tests by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/507\"\u003efsspec/universal_pathlib#507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.extensions: fix is_relative_to for extensions by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/510\"\u003efsspec/universal_pathlib#510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing pathlib abc tests by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/511\"\u003efsspec/universal_pathlib#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSplit test suite according to abcs by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/513\"\u003efsspec/universal_pathlib#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix upath core touch by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/515\"\u003efsspec/universal_pathlib#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandover fs instance in UPath.with_segments() if possible by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/516\"\u003efsspec/universal_pathlib#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix DataPath error handling for unsupported methods by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/517\"\u003efsspec/universal_pathlib#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix HTTPPath error handling for unsupported methods by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/518\"\u003efsspec/universal_pathlib#518\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.implementations.tar: fix error handling for write methods by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/519\"\u003efsspec/universal_pathlib#519\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.implementations.zip: disable write mode in universal-pathlib by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/520\"\u003efsspec/universal_pathlib#520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.implementations.cloud: fix error handling on HfPath by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/521\"\u003efsspec/universal_pathlib#521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.implementations.github: adjust GitHubPath error reporting by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/522\"\u003efsspec/universal_pathlib#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor and cleanup test suite by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/514\"\u003efsspec/universal_pathlib#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etests: xfail on name resolution error in github suite by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/523\"\u003efsspec/universal_pathlib#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix behaviour of UPath.parent and UPath.parents by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/529\"\u003efsspec/universal_pathlib#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust behavior of UPath.copy and UPath.copy_into with str and Path targets by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/530\"\u003efsspec/universal_pathlib#530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix S3Path copy to Local: name collision of file / dir by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/533\"\u003efsspec/universal_pathlib#533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecut release 0.3.8 by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/534\"\u003efsspec/universal_pathlib#534\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/lagamura\"\u003e\u003ccode\u003e@​lagamura\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/503\"\u003efsspec/universal_pathlib#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/avalentino\"\u003e\u003ccode\u003e@​avalentino\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/504\"\u003efsspec/universal_pathlib#504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/509\"\u003efsspec/universal_pathlib#509\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fsspec/universal_pathlib/compare/v0.3.7...v0.3.8\"\u003ehttps://github.com/fsspec/universal_pathlib/compare/v0.3.7...v0.3.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.3.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typing example in README by \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/484\"\u003efsspec/universal_pathlib#484\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd FTPPath implementation by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/485\"\u003efsspec/universal_pathlib#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath: fix maintainer display on pypi by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/486\"\u003efsspec/universal_pathlib#486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch and assert warnings in tests by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/487\"\u003efsspec/universal_pathlib#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix trailing slash behavior by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/488\"\u003efsspec/universal_pathlib#488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTests without network connection by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/492\"\u003efsspec/universal_pathlib#492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire .cwd() for relative paths in .rename() by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/493\"\u003efsspec/universal_pathlib#493\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix MemoryPath root by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/495\"\u003efsspec/universal_pathlib#495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.core: deprecate keyword arguments for UPath.rename() by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/496\"\u003efsspec/universal_pathlib#496\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/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/484\"\u003efsspec/universal_pathlib#484\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fsspec/universal_pathlib/blob/main/CHANGELOG.md\"\u003euniversal-pathlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.3.8] - 2026-01-11\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etests: add missing pathlib abc tests (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/511\"\u003e#511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: split base test cases into joinable/readable/writable tests (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/507\"\u003e#507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: describe UPath/s3fs behavior with \u003ccode\u003eis_dir()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/503\"\u003e#503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupath.implementations.cloud: fix S3Path copy to local with name collision of file/dir (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.core: fix behaviour of \u003ccode\u003eUPath.parent\u003c/code\u003e and \u003ccode\u003eUPath.parents\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/529\"\u003e#529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.github: adjust GitHubPath error reporting (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/522\"\u003e#522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.cloud: fix error handling on HfPath (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/521\"\u003e#521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.zip: disable write mode in universal-pathlib (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.tar: fix error handling for write methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/519\"\u003e#519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.http: fix HTTPPath error handling for unsupported methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/518\"\u003e#518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.data: fix DataPath error handling for unsupported methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/517\"\u003e#517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.core: fix \u003ccode\u003etouch()\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/515\"\u003e#515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.extensions: fix \u003ccode\u003eis_relative_to()\u003c/code\u003e for extensions (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/510\"\u003e#510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.extensions: fix error behavior for \u003ccode\u003ehardlink_to()\u003c/code\u003e backport and \u003ccode\u003esymlink_to()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/508\"\u003e#508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath: fix \u003ccode\u003eiterdir()\u003c/code\u003e behaviour when raising NotADirectoryError for all UPath subclasses (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: xfail on name resolution error in github suite (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/523\"\u003e#523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: fix GitHub tests without a network connection (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/509\"\u003e#509\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupath: adjust behavior of \u003ccode\u003eUPath.copy()\u003c/code\u003e and \u003ccode\u003eUPath.copy_into()\u003c/code\u003e with str and Path targets (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.core: handover cached fs instances in \u003ccode\u003ewith_segments()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/516\"\u003e#516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: split test suite according to abcs and cleanup tests (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/513\"\u003e#513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: remove two unused helper functions introduced in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/492\"\u003e#492\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/505\"\u003e#505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: do not hardcode Python executable name (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/504\"\u003e#504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: updated development dependencies (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/501\"\u003e#501\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.3.7] - 2025-12-03\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupath.implementations.ftp: added FTPPath support (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: added comprehensive warning checks in test suite (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: added xfail handling for network connectivity issues (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/492\"\u003e#492\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupath: fixed trailing slash behavior for cloud paths (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.core: fixed rename implementation for relative paths (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.memory: fixed MemoryPath root (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/495\"\u003e#495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.ftp: added support for FTP modification time info format (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.local: fixed rename return type on Python 3.14+ (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.extensions: fixed .cwd() behavior for ProxyUPath (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.extensions: fixed typing of .cwd() method (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: fixed typing example in README (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/484\"\u003e#484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epypi: fixed maintainer display on PyPI (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/486\"\u003e#486\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/89d2e6d8fa0fa0b9dec6c1dcb0928c051ea6ca9f\"\u003e\u003ccode\u003e89d2e6d\u003c/code\u003e\u003c/a\u003e cut release 0.3.8 (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/534\"\u003e#534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/c4c1fe317dc71b069697ab597d76a28aa8cf0e57\"\u003e\u003ccode\u003ec4c1fe3\u003c/code\u003e\u003c/a\u003e Fix S3Path copy to Local: name collision of file / dir (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/9ceaf2f2c3a00475eeb46c7ccfd6d43152a0d6f6\"\u003e\u003ccode\u003e9ceaf2f\u003c/code\u003e\u003c/a\u003e Adjust behavior of UPath.copy and UPath.copy_into with str and Path targets (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/4ff77c729626dfd2ebe6caed8ac52260c62d2145\"\u003e\u003ccode\u003e4ff77c7\u003c/code\u003e\u003c/a\u003e Fix behaviour of UPath.parent and UPath.parents (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/529\"\u003e#529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/fb7703d7883e5bdc5f3eda6caab3a7b974dd806e\"\u003e\u003ccode\u003efb7703d\u003c/code\u003e\u003c/a\u003e tests: xfail on name resolution error in github suite (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/523\"\u003e#523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/3fd061c3ff98d0659f722be7617b50703a4a3052\"\u003e\u003ccode\u003e3fd061c\u003c/code\u003e\u003c/a\u003e upath.implementations.github: adjust GitHubPath error reporting (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/522\"\u003e#522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/ef8888af5260b0e16566c6c4ff9ecd392eafc8d4\"\u003e\u003ccode\u003eef8888a\u003c/code\u003e\u003c/a\u003e upath.implementations.cloud: fix error handling on HfPath (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/521\"\u003e#521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/043248d87e2c07bad244185f64cae4a27c683ae6\"\u003e\u003ccode\u003e043248d\u003c/code\u003e\u003c/a\u003e upath.implementations.zip: disable write mode in universal-pathlib (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/f9d9445c4b7dc16e5b374db12d7076e3439e5e5c\"\u003e\u003ccode\u003ef9d9445\u003c/code\u003e\u003c/a\u003e upath.implementations.tar: fix error handling for write methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/519\"\u003e#519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/22e598a145c10c5baf17cbe7919c6e5da0d28f13\"\u003e\u003ccode\u003e22e598a\u003c/code\u003e\u003c/a\u003e Fix HTTPPath error handling for unsupported methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/518\"\u003e#518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/universal_pathlib/compare/v0.3.6...v0.3.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `urllib3` from 2.5.0 to 2.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/urllib3/urllib3/releases\"\u003eurllib3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.6.3\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a security issue where decompression-bomb safeguards of the streaming API were bypassed when HTTP redirects were followed. (CVE-2026-21441 reported by \u003ca href=\"https://github.com/D47A\"\u003e\u003ccode\u003e@​D47A\u003c/code\u003e\u003c/a\u003e, 8.9 High, GHSA-38jv-5279-wg99)\u003c/li\u003e\n\u003cli\u003eStarted treating \u003ccode\u003eRetry-After\u003c/code\u003e times greater than 6 hours as 6 hours by default. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3743\"\u003eurllib3/urllib3#3743\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eurllib3.connection.VerifiedHTTPSConnection\u003c/code\u003e on Emscripten. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3752\"\u003eurllib3/urllib3#3752\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.6.2\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eHTTPResponse.read_chunked()\u003c/code\u003e to properly handle leftover data in the decoder's buffer when reading compressed chunked responses. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3734\"\u003eurllib3/urllib3#3734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.6.1\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore previously removed \u003ccode\u003eHTTPResponse.getheaders()\u003c/code\u003e and \u003ccode\u003eHTTPResponse.getheader()\u003c/code\u003e methods. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3731\"\u003e#3731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.6.0\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a security issue where streaming API could improperly handle highly compressed HTTP content (\u0026quot;decompression bombs\u0026quot;) leading to excessive resource consumption even when a small amount of data was requested. Reading small chunks of compressed data is safer and much more efficient now. (CVE-2025-66471 reported by \u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e, 8.9 High, GHSA-2xpw-w6gg-jr37)\u003c/li\u003e\n\u003cli\u003eFixed a security issue where an attacker could compose an HTTP response with virtually unlimited links in the \u003ccode\u003eContent-Encoding\u003c/code\u003e header, potentially leading to a denial of service (DoS) attack by exhausting system resources during decoding. The number of allowed chained encodings is now limited to 5. (CVE-2025-66418 reported by \u003ca href=\"https://github.com/illia-v\"\u003e\u003ccode\u003e@​illia-v\u003c/code\u003e\u003c/a\u003e, 8.9 High, GHSA-gm62-xv2j-4w53)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIf urllib3 is not installed with the optional \u003ccode\u003eurllib3[brotli]\u003c/code\u003e extra, but your environment contains a Brotli/brotlicffi/brotlipy package anyway, make sure to upgrade it to at least Brotli 1.2.0 or brotlicffi 1.2.0.0 to  benefit from the security fixes and avoid warnings. Prefer using  \u003ccode\u003eurllib3[brotli]\u003c/code\u003e to install a compatible Brotli package automatically.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/urllib3/urllib3/blob/main/CHANGES.rst\"\u003eurllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.6.3 (2026-01-07)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a high-severity security issue where decompression-bomb safeguards of\nthe streaming API were bypassed when HTTP redirects were followed.\n(\u003ccode\u003eGHSA-38jv-5279-wg99 \u0026lt;https://github.com/urllib3/urllib3/security/advisories/GHSA-38jv-5279-wg99\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eStarted treating \u003ccode\u003eRetry-After\u003c/code\u003e times greater than 6 hours as 6 hours by\ndefault. (\u003ccode\u003e[#3743](https://github.com/urllib3/urllib3/issues/3743) \u0026lt;https://github.com/urllib3/urllib3/issues/3743\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eurllib3.connection.VerifiedHTTPSConnection\u003c/code\u003e on Emscripten.\n(\u003ccode\u003e[#3752](https://github.com/urllib3/urllib3/issues/3752) \u0026lt;https://github.com/urllib3/urllib3/issues/3752\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.6.2 (2025-12-11)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eHTTPResponse.read_chunked()\u003c/code\u003e to properly handle leftover data in\nthe decoder's buffer when reading compressed chunked responses.\n(\u003ccode\u003e[#3734](https://github.com/urllib3/urllib3/issues/3734) \u0026lt;https://github.com/urllib3/urllib3/issues/3734\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.6.1 (2025-12-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRestore previously removed \u003ccode\u003eHTTPResponse.getheaders()\u003c/code\u003e and\n\u003ccode\u003eHTTPResponse.getheader()\u003c/code\u003e methods.\n(\u003ccode\u003e[#3731](https://github.com/urllib3/urllib3/issues/3731) \u0026lt;https://github.com/urllib3/urllib3/issues/3731\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.6.0 (2025-12-05)\u003c/h1\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a security issue where streaming API could improperly handle highly\ncompressed HTTP content (\u0026quot;decompression bombs\u0026quot;) leading to excessive resource\nconsumption even when a small amount of data was requested. Reading small\nchunks of compressed data is safer and much more efficient now.\n(\u003ccode\u003eGHSA-2xpw-w6gg-jr37 \u0026lt;https://github.com/urllib3/urllib3/security/advisories/GHSA-2xpw-w6gg-jr37\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eFixed a security issue where an attacker could compose an HTTP response with\nvirtually unlimited links in the \u003ccode\u003eContent-Encoding\u003c/code\u003e header, potentially\nleading to a denial of service (DoS) attack by exhausting system resources\nduring decoding. The number of allowed chained encodings is now limited to 5.\n(\u003ccode\u003eGHSA-gm62-xv2j-4w53 \u0026lt;https://github.com/urllib3/urllib3/security/advisories/GHSA-gm62-xv2j-4w53\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. caution::\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIf urllib3 is not installed with the optional \u003ccode\u003eurllib3[brotli]\u003c/code\u003e extra, but\nyour environment contains a Brotli/brotlicffi/brotlipy package anyway, make\nsure to upgrade it to at least Brotli 1.2.0 or brotlicffi 1.2.0.0 to\nbenefit from the security fixes and avoid warnings. Prefer using\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/0248277dd7ac0239204889ca991353ad3e3a1ddc\"\u003e\u003ccode\u003e0248277\u003c/code\u003e\u003c/a\u003e Release 2.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/8864ac407bba8607950025e0979c4c69bc7abc7b\"\u003e\u003ccode\u003e8864ac4\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/70cecb27ca99d56aaaeb63ac27ee270ef2b24c5c\"\u003e\u003ccode\u003e70cecb2\u003c/code\u003e\u003c/a\u003e Fix Scorecard issues related to vulnerable dev dependencies (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3755\"\u003e#3755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/41f249abe1ef3e20768588969c4035aba060a359\"\u003e\u003ccode\u003e41f249a\u003c/code\u003e\u003c/a\u003e Move \u0026quot;v2.0 Migration Guide\u0026quot; to the end of the table of contents (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3747\"\u003e#3747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/fd4dffd2fc544166b76151a2fa3d7b7c0eab540c\"\u003e\u003ccode\u003efd4dffd\u003c/code\u003e\u003c/a\u003e Patch \u003ccode\u003eVerifiedHTTPSConnection\u003c/code\u003e for Emscripten (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3752\"\u003e#3752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/13f0bfd55e4468fe1ea9c6f809d3a87b0f93ebab\"\u003e\u003ccode\u003e13f0bfd\u003c/code\u003e\u003c/a\u003e Handle massive values in Retry-After when calculating time to sleep for (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3743\"\u003e#3743\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/8c480bf87bcefd321b3a1ae47f04e908b6b2ed7b\"\u003e\u003ccode\u003e8c480bf\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3748\"\u003e#3748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/4b40616e959c0a2c466e8075f2a785a9f99bb0c1\"\u003e\u003ccode\u003e4b40616\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4.3.0 to 5.0.1 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3750\"\u003e#3750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/82b8479663d037d220c883f1584dd01a43bb273b\"\u003e\u003ccode\u003e82b8479\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3749\"\u003e#3749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/34284cb01700bb7d4fdd472f909e22393e9174e2\"\u003e\u003ccode\u003e34284cb\u003c/code\u003e\u003c/a\u003e Mention experimental features in the security policy (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3746\"\u003e#3746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/urllib3/urllib3/compare/2.5.0...2.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 4.5.0 to 4.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.5.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.5.1 - 2025-12-16\u003c/h1\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/8a0630ca1aa7f6d5665effe674ebe2022af17919\"\u003e\u003ccode\u003e8a0630c\u003c/code\u003e\u003c/a\u003e v4.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fcbc745744377ef2c9fe6a7e1a21c67d797933dc\"\u003e\u003ccode\u003efcbc745\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e from pre-commit/empty-setup-py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/51592eececd13b99c40ec477ad8f810799147227\"\u003e\u003ccode\u003e51592ee\u003c/code\u003e\u003c/a\u003e fix python local template when artifact dirs are present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/67e8faf80baffcb4b79c31b89ca9a413a1cd6776\"\u003e\u003ccode\u003e67e8faf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3596\"\u003e#3596\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/c251e6b6d011b3b262339dc8e109de29b0ff8db1\"\u003e\u003ccode\u003ec251e6b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/98ccafa3ce42b846b9a9be9ed73fbbec7415496d\"\u003e\u003ccode\u003e98ccafa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3593\"\u003e#3593\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/48953556d06f8cdb4248002c1a0044e69e0916b3\"\u003e\u003ccode\u003e4895355\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/l...\n\n_Description has been truncated_","html_url":"https://github.com/statisticsnorway/dapla-toolbelt-metadata/pull/373","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/statisticsnorway%2Fdapla-toolbelt-metadata/issues/373","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/373/packages"}},{"old_version":"2025.10.0","new_version":"2026.1.0","update_type":"major","path":null,"pr_created_at":"2026-01-13T09:05:45.000Z","version_change":"2025.10.0 → 2026.1.0","issue":{"uuid":"3807882745","node_id":"PR_kwDOMeYp8M684V46","number":363,"state":"open","title":"Bump the python-dependencies group across 1 directory with 19 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-13T09:05:45.000Z","updated_at":"2026-01-21T08:53:57.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"python-dependencies","update_count":19,"packages":[{"name":"gcsfs","old_version":"2025.10.0","new_version":"2026.1.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"google-auth","old_version":"2.43.0","new_version":"2.47.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"ruamel-yaml","old_version":"0.18.16","new_version":"0.19.1"},{"name":"ssb-datadoc-model","old_version":"8.0.0","new_version":"8.0.3","repository_url":"https://github.com/statisticsnorway/ssb-datadoc-model"},{"name":"universal-pathlib","old_version":"0.3.6","new_version":"0.3.8","repository_url":"https://github.com/fsspec/universal_pathlib"},{"name":"urllib3","old_version":"2.5.0","new_version":"2.6.3","repository_url":"https://github.com/urllib3/urllib3"},{"name":"pre-commit","old_version":"4.5.0","new_version":"4.5.1","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"ruff","old_version":"0.14.7","new_version":"0.14.11","repository_url":"https://github.com/astral-sh/ruff"},{"name":"furo","old_version":"2025.9.25","new_version":"2025.12.19","repository_url":"https://github.com/pradyunsg/furo"},{"name":"sphinx-click","old_version":"6.1.0","new_version":"6.2.0","repository_url":"https://github.com/click-contrib/sphinx-click"},{"name":"faker","old_version":"38.2.0","new_version":"40.1.0","repository_url":"https://github.com/joke2k/faker"},{"name":"mypy","old_version":"1.19.0","new_version":"1.19.1","repository_url":"https://github.com/python/mypy"},{"name":"pandas-stubs","old_version":"2.3.3.251201","new_version":"2.3.3.251219","repository_url":"https://github.com/pandas-dev/pandas-stubs"},{"name":"pyarrow-stubs","old_version":"20.0.0.20251107","new_version":"20.0.0.20251215","repository_url":"https://github.com/zen-xu/pyarrow-stubs"},{"name":"types-docker","old_version":"7.1.0.20251129","new_version":"7.1.0.20260109","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-requests","old_version":"2.32.4.20250913","new_version":"2.32.4.20260107","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"types-setuptools","old_version":"80.9.0.20250822","new_version":"80.9.0.20251223","repository_url":"https://github.com/typeshed-internal/stub_uploader"}],"path":null,"ecosystem":"pip"},"body":"Bumps the python-dependencies group with 17 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gcsfs](https://github.com/fsspec/gcsfs) | `2025.10.0` | `2026.1.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.43.0` | `2.47.0` |\n| ruamel-yaml | `0.18.16` | `0.19.1` |\n| [ssb-datadoc-model](https://github.com/statisticsnorway/ssb-datadoc-model) | `8.0.0` | `8.0.3` |\n| [universal-pathlib](https://github.com/fsspec/universal_pathlib) | `0.3.6` | `0.3.8` |\n| [urllib3](https://github.com/urllib3/urllib3) | `2.5.0` | `2.6.3` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.5.0` | `4.5.1` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.7` | `0.14.11` |\n| [furo](https://github.com/pradyunsg/furo) | `2025.9.25` | `2025.12.19` |\n| [sphinx-click](https://github.com/click-contrib/sphinx-click) | `6.1.0` | `6.2.0` |\n| [faker](https://github.com/joke2k/faker) | `38.2.0` | `40.1.0` |\n| [mypy](https://github.com/python/mypy) | `1.19.0` | `1.19.1` |\n| [pandas-stubs](https://github.com/pandas-dev/pandas-stubs) | `2.3.3.251201` | `2.3.3.251219` |\n| [pyarrow-stubs](https://github.com/zen-xu/pyarrow-stubs) | `20.0.0.20251107` | `20.0.0.20251215` |\n| [types-docker](https://github.com/typeshed-internal/stub_uploader) | `7.1.0.20251129` | `7.1.0.20260109` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.4.20250913` | `2.32.4.20260107` |\n| [types-setuptools](https://github.com/typeshed-internal/stub_uploader) | `80.9.0.20250822` | `80.9.0.20251223` |\n\n\nUpdates `gcsfs` from 2025.10.0 to 2026.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/3ed414aa2c5e5a78556726be11d663ff346bab40\"\u003e\u003ccode\u003e3ed414a\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/bca0139193d8dd8103fc52bfa5caf2ffd2172e6a\"\u003e\u003ccode\u003ebca0139\u003c/code\u003e\u003c/a\u003e Implement async upload methods and support async mode in ExtendedGcsfs (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9d64f5c5c74c59c840f440f82288f047bf557a3f\"\u003e\u003ccode\u003e9d64f5c\u003c/code\u003e\u003c/a\u003e mkdir override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/4f9f4ac35f1df42dacfb56f9be200730058fd5ef\"\u003e\u003ccode\u003e4f9f4ac\u003c/code\u003e\u003c/a\u003e reformat benchmark readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/cdd65f5808f6864bd8bed08e7bb7a9359ab0cbe7\"\u003e\u003ccode\u003ecdd65f5\u003c/code\u003e\u003c/a\u003e Adds GCSFS Microbenchmarks (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/722\"\u003e#722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c8ed96a77d027115b436cd9062825f703955b891\"\u003e\u003ccode\u003ec8ed96a\u003c/code\u003e\u003c/a\u003e ✨ Support alternative GCP Universes (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e03bf2949664282d4eb09ba18c62a2d98085cba9\"\u003e\u003ccode\u003ee03bf29\u003c/code\u003e\u003c/a\u003e Override info for hns (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14276d82827f21c1ee6b736ff7896ae4211cc726\"\u003e\u003ccode\u003e14276d8\u003c/code\u003e\u003c/a\u003e Update ci pipeline to run tests on HNS bucket (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/729\"\u003e#729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c5ac0e3e65154d4d5ec1d1de1566a7b1ea7781d3\"\u003e\u003ccode\u003ec5ac0e3\u003c/code\u003e\u003c/a\u003e feat(zb-write): Support write mode in Zonal File (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/06399c09003b66292bf25206e500796a8855ce72\"\u003e\u003ccode\u003e06399c0\u003c/code\u003e\u003c/a\u003e Adds mv/rename method implementation for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/727\"\u003e#727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.10.0...2026.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.43.0 to 2.47.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-auth 2.47.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.46.0...v2.47.0\"\u003e2.47.0\u003c/a\u003e (2026-01-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1590\"\u003e#1590\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4\"\u003e5c07e1c4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc2001\"\u003e60dc2001\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.46.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.45.0...v2.46.0\"\u003e2.46.0\u003c/a\u003e (2026-01-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecognize workload certificate config in has_default_client_cert_source for mTLS for Agentic Identities (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1907\"\u003e#1907\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d5\"\u003e0b9107d5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix test coverage for mtls_helper (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1886\"\u003e#1886\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/02e71631\"\u003e02e71631\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003euse .read() instead of .content.read() in aiohttp transport (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1899\"\u003e#1899\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/12f4470f\"\u003e12f4470f\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eadd types to default and verify_token and Request \u003cstrong\u003einit\u003c/strong\u003e based on comments in the source code. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1588\"\u003e#1588\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/59a5f588\"\u003e59a5f588\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix the document of secure_authorized_session (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1536\"\u003e#1536\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d001470\"\u003e5d001470\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eraise RefreshError for missing token in impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1897\"\u003e#1897\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/94d04e09\"\u003e94d04e09\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eremove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1693\"\u003e#1693\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c767531c\"\u003ec767531c\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate urllib3 docstrings for v2 compatibility (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1903\"\u003e#1903\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f1aeea2\"\u003e3f1aeea2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.45.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.44.0...v2.45.0\"\u003e2.45.0\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Agent Identity bound token support and handling certificate mismatches with retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1890\"\u003e#1890\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e\"\u003eb32c934e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003egoogle-auth 2.44.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-12)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95\"\u003e0387bb95\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.46.0...v2.47.0\"\u003e2.47.0\u003c/a\u003e (2026-01-06)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edrop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1590\"\u003e#1590\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\"\u003e5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\"\u003e60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.45.0...v2.46.0\"\u003e2.46.0\u003c/a\u003e (2026-01-05)\u003c/h2\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate urllib3 docstrings for v2 compatibility (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1903\"\u003e#1903\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/3f1aeea2d1014ea1d244a4c3470e52d74d55404b\"\u003e3f1aeea2d1014ea1d244a4c3470e52d74d55404b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRecognize workload certificate config in has_default_client_cert_source for mTLS for Agentic Identities (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1907\"\u003e#1907\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d573123e358c347ffa067637f992af61b4\"\u003e0b9107d573123e358c347ffa067637f992af61b4\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd types to default and verify_token and Request \u003cstrong\u003einit\u003c/strong\u003e based on comments in the source code. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1588\"\u003e#1588\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/59a5f588f7793b59d923a4185c8c07738da618f7\"\u003e59a5f588f7793b59d923a4185c8c07738da618f7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix the document of secure_authorized_session (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1536\"\u003e#1536\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d0014707fc359782df5ccfcaa75fd372fe9dce3\"\u003e5d0014707fc359782df5ccfcaa75fd372fe9dce3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1693\"\u003e#1693\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c767531ce05a89002d109f595187aff1fcaacfb7\"\u003ec767531ce05a89002d109f595187aff1fcaacfb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003euse .read() instead of .content.read() in aiohttp transport (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1899\"\u003e#1899\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/12f4470f808809e8abf1141f98d88ab720c3899b\"\u003e12f4470f808809e8abf1141f98d88ab720c3899b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eraise RefreshError for missing token in impersonated credentials (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1897\"\u003e#1897\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/94d04e090fdfc61926dd32bc1d65f8820b9cede5\"\u003e94d04e090fdfc61926dd32bc1d65f8820b9cede5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix test coverage for mtls_helper (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1886\"\u003e#1886\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/02e71631fe275d93825c2e957e830773e75133f7\"\u003e02e71631fe275d93825c2e957e830773e75133f7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.44.0...v2.45.0\"\u003e2.45.0\u003c/a\u003e (2025-12-15)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdding Agent Identity bound token support and handling certificate mismatches with retries (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1890\"\u003e#1890\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b32c934e6b0d09b94c467cd432a0a635e8b05f5c\"\u003eb32c934e6b0d09b94c467cd432a0a635e8b05f5c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.44.0\"\u003e2.44.0\u003c/a\u003e (2025-12-13)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Python 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1822\"\u003e#1822\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0f7097e78f247665b6ef0287d482033f7be2ed6d\"\u003e0f7097e78f247665b6ef0287d482033f7be2ed6d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd ecdsa p-384 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1872\"\u003e#1872\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/39c381a5f6881b590025f36d333d12eff8dc60fc\"\u003e39c381a5f6881b590025f36d333d12eff8dc60fc\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMDS connections use mTLS (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1856\"\u003e#1856\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0387bb95713653d47e846cad3a010eb55ef2db4c\"\u003e0387bb95713653d47e846cad3a010eb55ef2db4c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImplement token revocation in STS client and add revoke() metho… (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1849\"\u003e#1849\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/d5638986ca03ee95bfffa9ad821124ed7e903e63\"\u003ed5638986ca03ee95bfffa9ad821124ed7e903e63\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/googleapis/google-auth-library-python/commit/f32301a03372eb72a8b5542a4cc223e01ee1e33b\"\u003e\u003ccode\u003ef32301a\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260106T130342Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1922\"\u003e#1922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/25f4ca658c1880c7a27ed817ded4c17d84c26854\"\u003e\u003ccode\u003e25f4ca6\u003c/code\u003e\u003c/a\u003e chore: remove Python 3.7 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1919\"\u003e#1919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/60dc20014a35ec4ba71e8065b9a33ecbdbeca97a\"\u003e\u003ccode\u003e60dc200\u003c/code\u003e\u003c/a\u003e fix: Python 3.8 support (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1918\"\u003e#1918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5c07e1c4f52bc77a1b16fa3b7b3c5269c242f6f4\"\u003e\u003ccode\u003e5c07e1c\u003c/code\u003e\u003c/a\u003e feat: drop \u003ccode\u003ecachetools\u003c/code\u003e dependency in favor of simple local implementation (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/2cbc2a2e2e75e8797bf3709eb1e624ad39e7e7d4\"\u003e\u003ccode\u003e2cbc2a2\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20260105T122553Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1913\"\u003e#1913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5b7b5d83adafe275351989a96328472b1845c4be\"\u003e\u003ccode\u003e5b7b5d8\u003c/code\u003e\u003c/a\u003e chore: librarian update image pull request: 20260105T112538Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1912\"\u003e#1912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/7dbf05a56c5c8f1c01f985af140dc8c5ea29656a\"\u003e\u003ccode\u003e7dbf05a\u003c/code\u003e\u003c/a\u003e chore: rename _refresh_token to _perform_refresh_token (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1900\"\u003e#1900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/855a45af913a5d099e30036b80d8ba3b0c324a62\"\u003e\u003ccode\u003e855a45a\u003c/code\u003e\u003c/a\u003e chore(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1894\"\u003e#1894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/77c8bc48b5638cbe8c4415fdd378853e9db6e156\"\u003e\u003ccode\u003e77c8bc4\u003c/code\u003e\u003c/a\u003e tests: make the TLS tests skip when pyopenssl isn't available (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1873\"\u003e#1873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/0b9107d573123e358c347ffa067637f992af61b4\"\u003e\u003ccode\u003e0b9107d\u003c/code\u003e\u003c/a\u003e feat: Recognize workload certificate config in has_default_client_cert_source...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.43.0...v2.47.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruamel-yaml` from 0.18.16 to 0.19.1\n\nUpdates `ssb-datadoc-model` from 8.0.0 to 8.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/releases\"\u003essb-datadoc-model's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epython-v8.0.3\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:notebook: Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove date formatting on stable_identifier_version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/81\"\u003e#81\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ev8.0.2 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/80\"\u003e#80\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStable identifier version is a date (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate use restriction (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/72\"\u003e#72\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump document version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/70\"\u003e#70\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove fields from dataset to variable level (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/69\"\u003e#69\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pseudonymization_time from variables into pseudo object (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/65\"\u003e#65\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pseudonymization metadata into Variable structure (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/64\"\u003e#64\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:snake: Python\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove date formatting on stable_identifier_version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/81\"\u003e#81\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ev8.0.2 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/80\"\u003e#80\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStable identifier version is a date (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease Python v8.0.0 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/73\"\u003e#73\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate use restriction (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/72\"\u003e#72\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump document version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/70\"\u003e#70\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove fields from dataset to variable level (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/69\"\u003e#69\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOnly warn deprecation when relevant (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/68\"\u003e#68\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version 7.0.0 -\u0026gt; 7.0.1 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/66\"\u003e#66\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pseudonymization_time from variables into pseudo object (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/65\"\u003e#65\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove pseudonymization metadata into Variable structure (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/64\"\u003e#64\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect project metadata (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/63\"\u003e#63\u003c/a\u003e) \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:rocket: Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate use restriction (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/72\"\u003e#72\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemove date formatting on stable_identifier_version (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/81\"\u003e#81\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStable identifier version is a date (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove pseudonymization metadata into Variable structure (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/64\"\u003e#64\u003c/a\u003e) \u003ca href=\"https://github.com/skykanin\"\u003e\u003ccode\u003e@​skykanin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003epython-v8.0.2\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:notebook: Model\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ev8.0.2 (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/80\"\u003e#80\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStable identifier version is a date (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate use restriction (\u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/72\"\u003e#72\u003c/a\u003e) \u003ca href=\"https://github.com/Jorgen-5\"\u003e\u003ccode\u003e@​Jorgen-5\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/a04b301d3615cfe0db25c82170cee401810f99a6\"\u003e\u003ccode\u003ea04b301\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/81\"\u003e#81\u003c/a\u003e from statisticsnorway/fix/fix-version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/2d21418bc6b3094cf210ad421f5903cd9e46f971\"\u003e\u003ccode\u003e2d21418\u003c/code\u003e\u003c/a\u003e [GENERATE] Pydantic models from JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/9b6487e0dafd6503b2a7efaa31923489d97c9195\"\u003e\u003ccode\u003e9b6487e\u003c/code\u003e\u003c/a\u003e Fix typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/39e0c73e24619bcde538c7562ee219e3307a3891\"\u003e\u003ccode\u003e39e0c73\u003c/code\u003e\u003c/a\u003e [GENERATE] Pydantic models from JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/61c924f4a331ac18701a02ad04230abfe41a0263\"\u003e\u003ccode\u003e61c924f\u003c/code\u003e\u003c/a\u003e Revert formatting of stable_identifier_version to date\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/6216bfea619447e019f3f9cdb42518c4c5ca0973\"\u003e\u003ccode\u003e6216bfe\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/80\"\u003e#80\u003c/a\u003e from statisticsnorway/release/v8.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/838739f8331ba74c70e93d5365c17e3d6ef24ab7\"\u003e\u003ccode\u003e838739f\u003c/code\u003e\u003c/a\u003e [GENERATE] Pydantic models from JSON Schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/1d670b98c595a9def4104851f3717d0c38bc06c9\"\u003e\u003ccode\u003e1d670b9\u003c/code\u003e\u003c/a\u003e v8.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/1174a50159039f800e549cbdc82da341549a8dbb\"\u003e\u003ccode\u003e1174a50\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/statisticsnorway/ssb-datadoc-model/issues/79\"\u003e#79\u003c/a\u003e from statisticsnorway/fix/stable-id-version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/commit/16318d82bfe0c56ec23dad821e7bf97599f83bf8\"\u003e\u003ccode\u003e16318d8\u003c/code\u003e\u003c/a\u003e [GENERATE] Pydantic models from JSON Schema\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/statisticsnorway/ssb-datadoc-model/compare/v8.0.0...v8.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `universal-pathlib` from 0.3.6 to 0.3.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fsspec/universal_pathlib/releases\"\u003euniversal-pathlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.3.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump the pip-dependencies group with 2 updates 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/fsspec/universal_pathlib/pull/501\"\u003efsspec/universal_pathlib#501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDOC: describe UPath/s3fs behavior with \u003ccode\u003eis_dir()\u003c/code\u003e by \u003ca href=\"https://github.com/lagamura\"\u003e\u003ccode\u003e@​lagamura\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/503\"\u003efsspec/universal_pathlib#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not hardcode Python executable name by \u003ca href=\"https://github.com/avalentino\"\u003e\u003ccode\u003e@​avalentino\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/504\"\u003efsspec/universal_pathlib#504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etests: remove two unused helper functions introduced in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/492\"\u003e#492\u003c/a\u003e by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/505\"\u003efsspec/universal_pathlib#505\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix iterdir behaviour when raising NotADirectory for all UPath subclasses by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/506\"\u003efsspec/universal_pathlib#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix error behavior for the hardlink_to backport and symlink_to for upath.extensions by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/508\"\u003efsspec/universal_pathlib#508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix GitHub tests without a network connection by \u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/509\"\u003efsspec/universal_pathlib#509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etests: split base test cases into joinable/readable/writable tests by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/507\"\u003efsspec/universal_pathlib#507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.extensions: fix is_relative_to for extensions by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/510\"\u003efsspec/universal_pathlib#510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd missing pathlib abc tests by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/511\"\u003efsspec/universal_pathlib#511\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSplit test suite according to abcs by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/513\"\u003efsspec/universal_pathlib#513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix upath core touch by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/515\"\u003efsspec/universal_pathlib#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHandover fs instance in UPath.with_segments() if possible by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/516\"\u003efsspec/universal_pathlib#516\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix DataPath error handling for unsupported methods by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/517\"\u003efsspec/universal_pathlib#517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix HTTPPath error handling for unsupported methods by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/518\"\u003efsspec/universal_pathlib#518\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.implementations.tar: fix error handling for write methods by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/519\"\u003efsspec/universal_pathlib#519\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.implementations.zip: disable write mode in universal-pathlib by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/520\"\u003efsspec/universal_pathlib#520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.implementations.cloud: fix error handling on HfPath by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/521\"\u003efsspec/universal_pathlib#521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.implementations.github: adjust GitHubPath error reporting by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/522\"\u003efsspec/universal_pathlib#522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor and cleanup test suite by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/514\"\u003efsspec/universal_pathlib#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etests: xfail on name resolution error in github suite by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/523\"\u003efsspec/universal_pathlib#523\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix behaviour of UPath.parent and UPath.parents by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/529\"\u003efsspec/universal_pathlib#529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust behavior of UPath.copy and UPath.copy_into with str and Path targets by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/530\"\u003efsspec/universal_pathlib#530\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix S3Path copy to Local: name collision of file / dir by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/533\"\u003efsspec/universal_pathlib#533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecut release 0.3.8 by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/534\"\u003efsspec/universal_pathlib#534\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/lagamura\"\u003e\u003ccode\u003e@​lagamura\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/503\"\u003efsspec/universal_pathlib#503\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/avalentino\"\u003e\u003ccode\u003e@​avalentino\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/504\"\u003efsspec/universal_pathlib#504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/QuLogic\"\u003e\u003ccode\u003e@​QuLogic\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/509\"\u003efsspec/universal_pathlib#509\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fsspec/universal_pathlib/compare/v0.3.7...v0.3.8\"\u003ehttps://github.com/fsspec/universal_pathlib/compare/v0.3.7...v0.3.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev0.3.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix typing example in README by \u003ca href=\"https://github.com/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/484\"\u003efsspec/universal_pathlib#484\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd FTPPath implementation by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/485\"\u003efsspec/universal_pathlib#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath: fix maintainer display on pypi by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/486\"\u003efsspec/universal_pathlib#486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCatch and assert warnings in tests by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/487\"\u003efsspec/universal_pathlib#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix trailing slash behavior by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/488\"\u003efsspec/universal_pathlib#488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTests without network connection by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/492\"\u003efsspec/universal_pathlib#492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRequire .cwd() for relative paths in .rename() by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/493\"\u003efsspec/universal_pathlib#493\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix MemoryPath root by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/495\"\u003efsspec/universal_pathlib#495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupath.core: deprecate keyword arguments for UPath.rename() by \u003ca href=\"https://github.com/ap\"\u003e\u003ccode\u003e@​ap\u003c/code\u003e\u003c/a\u003e-- in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/496\"\u003efsspec/universal_pathlib#496\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/mmwinther\"\u003e\u003ccode\u003e@​mmwinther\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/pull/484\"\u003efsspec/universal_pathlib#484\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fsspec/universal_pathlib/blob/main/CHANGELOG.md\"\u003euniversal-pathlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.3.8] - 2026-01-11\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etests: add missing pathlib abc tests (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/511\"\u003e#511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: split base test cases into joinable/readable/writable tests (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/507\"\u003e#507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: describe UPath/s3fs behavior with \u003ccode\u003eis_dir()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/503\"\u003e#503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupath.implementations.cloud: fix S3Path copy to local with name collision of file/dir (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.core: fix behaviour of \u003ccode\u003eUPath.parent\u003c/code\u003e and \u003ccode\u003eUPath.parents\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/529\"\u003e#529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.github: adjust GitHubPath error reporting (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/522\"\u003e#522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.cloud: fix error handling on HfPath (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/521\"\u003e#521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.zip: disable write mode in universal-pathlib (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.tar: fix error handling for write methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/519\"\u003e#519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.http: fix HTTPPath error handling for unsupported methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/518\"\u003e#518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.data: fix DataPath error handling for unsupported methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/517\"\u003e#517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.core: fix \u003ccode\u003etouch()\u003c/code\u003e method (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/515\"\u003e#515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.extensions: fix \u003ccode\u003eis_relative_to()\u003c/code\u003e for extensions (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/510\"\u003e#510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.extensions: fix error behavior for \u003ccode\u003ehardlink_to()\u003c/code\u003e backport and \u003ccode\u003esymlink_to()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/508\"\u003e#508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath: fix \u003ccode\u003eiterdir()\u003c/code\u003e behaviour when raising NotADirectoryError for all UPath subclasses (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: xfail on name resolution error in github suite (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/523\"\u003e#523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: fix GitHub tests without a network connection (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/509\"\u003e#509\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupath: adjust behavior of \u003ccode\u003eUPath.copy()\u003c/code\u003e and \u003ccode\u003eUPath.copy_into()\u003c/code\u003e with str and Path targets (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/530\"\u003e#530\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.core: handover cached fs instances in \u003ccode\u003ewith_segments()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/516\"\u003e#516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: split test suite according to abcs and cleanup tests (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/513\"\u003e#513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: remove two unused helper functions introduced in \u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/492\"\u003e#492\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/505\"\u003e#505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: do not hardcode Python executable name (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/504\"\u003e#504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eci: updated development dependencies (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/501\"\u003e#501\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.3.7] - 2025-12-03\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupath.implementations.ftp: added FTPPath support (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: added comprehensive warning checks in test suite (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/487\"\u003e#487\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etests: added xfail handling for network connectivity issues (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/492\"\u003e#492\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupath: fixed trailing slash behavior for cloud paths (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/488\"\u003e#488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.core: fixed rename implementation for relative paths (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.memory: fixed MemoryPath root (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/495\"\u003e#495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.ftp: added support for FTP modification time info format (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/485\"\u003e#485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.implementations.local: fixed rename return type on Python 3.14+ (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.extensions: fixed .cwd() behavior for ProxyUPath (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupath.extensions: fixed typing of .cwd() method (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: fixed typing example in README (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/484\"\u003e#484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epypi: fixed maintainer display on PyPI (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/486\"\u003e#486\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/89d2e6d8fa0fa0b9dec6c1dcb0928c051ea6ca9f\"\u003e\u003ccode\u003e89d2e6d\u003c/code\u003e\u003c/a\u003e cut release 0.3.8 (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/534\"\u003e#534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/c4c1fe317dc71b069697ab597d76a28aa8cf0e57\"\u003e\u003ccode\u003ec4c1fe3\u003c/code\u003e\u003c/a\u003e Fix S3Path copy to Local: name collision of file / dir (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/533\"\u003e#533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/9ceaf2f2c3a00475eeb46c7ccfd6d43152a0d6f6\"\u003e\u003ccode\u003e9ceaf2f\u003c/code\u003e\u003c/a\u003e Adjust behavior of UPath.copy and UPath.copy_into with str and Path targets (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/4ff77c729626dfd2ebe6caed8ac52260c62d2145\"\u003e\u003ccode\u003e4ff77c7\u003c/code\u003e\u003c/a\u003e Fix behaviour of UPath.parent and UPath.parents (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/529\"\u003e#529\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/fb7703d7883e5bdc5f3eda6caab3a7b974dd806e\"\u003e\u003ccode\u003efb7703d\u003c/code\u003e\u003c/a\u003e tests: xfail on name resolution error in github suite (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/523\"\u003e#523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/3fd061c3ff98d0659f722be7617b50703a4a3052\"\u003e\u003ccode\u003e3fd061c\u003c/code\u003e\u003c/a\u003e upath.implementations.github: adjust GitHubPath error reporting (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/522\"\u003e#522\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/ef8888af5260b0e16566c6c4ff9ecd392eafc8d4\"\u003e\u003ccode\u003eef8888a\u003c/code\u003e\u003c/a\u003e upath.implementations.cloud: fix error handling on HfPath (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/521\"\u003e#521\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/043248d87e2c07bad244185f64cae4a27c683ae6\"\u003e\u003ccode\u003e043248d\u003c/code\u003e\u003c/a\u003e upath.implementations.zip: disable write mode in universal-pathlib (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/520\"\u003e#520\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/f9d9445c4b7dc16e5b374db12d7076e3439e5e5c\"\u003e\u003ccode\u003ef9d9445\u003c/code\u003e\u003c/a\u003e upath.implementations.tar: fix error handling for write methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/519\"\u003e#519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/universal_pathlib/commit/22e598a145c10c5baf17cbe7919c6e5da0d28f13\"\u003e\u003ccode\u003e22e598a\u003c/code\u003e\u003c/a\u003e Fix HTTPPath error handling for unsupported methods (\u003ca href=\"https://redirect.github.com/fsspec/universal_pathlib/issues/518\"\u003e#518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/universal_pathlib/compare/v0.3.6...v0.3.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `urllib3` from 2.5.0 to 2.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/urllib3/urllib3/releases\"\u003eurllib3's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.6.3\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a security issue where decompression-bomb safeguards of the streaming API were bypassed when HTTP redirects were followed. (CVE-2026-21441 reported by \u003ca href=\"https://github.com/D47A\"\u003e\u003ccode\u003e@​D47A\u003c/code\u003e\u003c/a\u003e, 8.9 High, GHSA-38jv-5279-wg99)\u003c/li\u003e\n\u003cli\u003eStarted treating \u003ccode\u003eRetry-After\u003c/code\u003e times greater than 6 hours as 6 hours by default. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3743\"\u003eurllib3/urllib3#3743\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eurllib3.connection.VerifiedHTTPSConnection\u003c/code\u003e on Emscripten. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3752\"\u003eurllib3/urllib3#3752\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.6.2\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eHTTPResponse.read_chunked()\u003c/code\u003e to properly handle leftover data in the decoder's buffer when reading compressed chunked responses. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3734\"\u003eurllib3/urllib3#3734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.6.1\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore previously removed \u003ccode\u003eHTTPResponse.getheaders()\u003c/code\u003e and \u003ccode\u003eHTTPResponse.getheader()\u003c/code\u003e methods. (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3731\"\u003e#3731\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.6.0\u003c/h2\u003e\n\u003ch2\u003e🚀 urllib3 is fundraising for HTTP/2 support\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support\"\u003eurllib3 is raising ~$40,000 USD\u003c/a\u003e to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects \u003ca href=\"https://opencollective.com/urllib3\"\u003eplease consider contributing financially\u003c/a\u003e to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.\u003c/p\u003e\n\u003cp\u003eThank you for your support.\u003c/p\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a security issue where streaming API could improperly handle highly compressed HTTP content (\u0026quot;decompression bombs\u0026quot;) leading to excessive resource consumption even when a small amount of data was requested. Reading small chunks of compressed data is safer and much more efficient now. (CVE-2025-66471 reported by \u003ca href=\"https://github.com/Cycloctane\"\u003e\u003ccode\u003e@​Cycloctane\u003c/code\u003e\u003c/a\u003e, 8.9 High, GHSA-2xpw-w6gg-jr37)\u003c/li\u003e\n\u003cli\u003eFixed a security issue where an attacker could compose an HTTP response with virtually unlimited links in the \u003ccode\u003eContent-Encoding\u003c/code\u003e header, potentially leading to a denial of service (DoS) attack by exhausting system resources during decoding. The number of allowed chained encodings is now limited to 5. (CVE-2025-66418 reported by \u003ca href=\"https://github.com/illia-v\"\u003e\u003ccode\u003e@​illia-v\u003c/code\u003e\u003c/a\u003e, 8.9 High, GHSA-gm62-xv2j-4w53)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIf urllib3 is not installed with the optional \u003ccode\u003eurllib3[brotli]\u003c/code\u003e extra, but your environment contains a Brotli/brotlicffi/brotlipy package anyway, make sure to upgrade it to at least Brotli 1.2.0 or brotlicffi 1.2.0.0 to  benefit from the security fixes and avoid warnings. Prefer using  \u003ccode\u003eurllib3[brotli]\u003c/code\u003e to install a compatible Brotli package automatically.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/urllib3/urllib3/blob/main/CHANGES.rst\"\u003eurllib3's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e2.6.3 (2026-01-07)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a high-severity security issue where decompression-bomb safeguards of\nthe streaming API were bypassed when HTTP redirects were followed.\n(\u003ccode\u003eGHSA-38jv-5279-wg99 \u0026lt;https://github.com/urllib3/urllib3/security/advisories/GHSA-38jv-5279-wg99\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eStarted treating \u003ccode\u003eRetry-After\u003c/code\u003e times greater than 6 hours as 6 hours by\ndefault. (\u003ccode\u003e[#3743](https://github.com/urllib3/urllib3/issues/3743) \u0026lt;https://github.com/urllib3/urllib3/issues/3743\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eurllib3.connection.VerifiedHTTPSConnection\u003c/code\u003e on Emscripten.\n(\u003ccode\u003e[#3752](https://github.com/urllib3/urllib3/issues/3752) \u0026lt;https://github.com/urllib3/urllib3/issues/3752\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.6.2 (2025-12-11)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eHTTPResponse.read_chunked()\u003c/code\u003e to properly handle leftover data in\nthe decoder's buffer when reading compressed chunked responses.\n(\u003ccode\u003e[#3734](https://github.com/urllib3/urllib3/issues/3734) \u0026lt;https://github.com/urllib3/urllib3/issues/3734\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.6.1 (2025-12-08)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRestore previously removed \u003ccode\u003eHTTPResponse.getheaders()\u003c/code\u003e and\n\u003ccode\u003eHTTPResponse.getheader()\u003c/code\u003e methods.\n(\u003ccode\u003e[#3731](https://github.com/urllib3/urllib3/issues/3731) \u0026lt;https://github.com/urllib3/urllib3/issues/3731\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e2.6.0 (2025-12-05)\u003c/h1\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a security issue where streaming API could improperly handle highly\ncompressed HTTP content (\u0026quot;decompression bombs\u0026quot;) leading to excessive resource\nconsumption even when a small amount of data was requested. Reading small\nchunks of compressed data is safer and much more efficient now.\n(\u003ccode\u003eGHSA-2xpw-w6gg-jr37 \u0026lt;https://github.com/urllib3/urllib3/security/advisories/GHSA-2xpw-w6gg-jr37\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003cli\u003eFixed a security issue where an attacker could compose an HTTP response with\nvirtually unlimited links in the \u003ccode\u003eContent-Encoding\u003c/code\u003e header, potentially\nleading to a denial of service (DoS) attack by exhausting system resources\nduring decoding. The number of allowed chained encodings is now limited to 5.\n(\u003ccode\u003eGHSA-gm62-xv2j-4w53 \u0026lt;https://github.com/urllib3/urllib3/security/advisories/GHSA-gm62-xv2j-4w53\u0026gt;\u003c/code\u003e__)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. caution::\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIf urllib3 is not installed with the optional \u003ccode\u003eurllib3[brotli]\u003c/code\u003e extra, but\nyour environment contains a Brotli/brotlicffi/brotlipy package anyway, make\nsure to upgrade it to at least Brotli 1.2.0 or brotlicffi 1.2.0.0 to\nbenefit from the security fixes and avoid warnings. Prefer using\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/0248277dd7ac0239204889ca991353ad3e3a1ddc\"\u003e\u003ccode\u003e0248277\u003c/code\u003e\u003c/a\u003e Release 2.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/8864ac407bba8607950025e0979c4c69bc7abc7b\"\u003e\u003ccode\u003e8864ac4\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/70cecb27ca99d56aaaeb63ac27ee270ef2b24c5c\"\u003e\u003ccode\u003e70cecb2\u003c/code\u003e\u003c/a\u003e Fix Scorecard issues related to vulnerable dev dependencies (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3755\"\u003e#3755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/41f249abe1ef3e20768588969c4035aba060a359\"\u003e\u003ccode\u003e41f249a\u003c/code\u003e\u003c/a\u003e Move \u0026quot;v2.0 Migration Guide\u0026quot; to the end of the table of contents (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3747\"\u003e#3747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/fd4dffd2fc544166b76151a2fa3d7b7c0eab540c\"\u003e\u003ccode\u003efd4dffd\u003c/code\u003e\u003c/a\u003e Patch \u003ccode\u003eVerifiedHTTPSConnection\u003c/code\u003e for Emscripten (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3752\"\u003e#3752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/13f0bfd55e4468fe1ea9c6f809d3a87b0f93ebab\"\u003e\u003ccode\u003e13f0bfd\u003c/code\u003e\u003c/a\u003e Handle massive values in Retry-After when calculating time to sleep for (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3743\"\u003e#3743\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/8c480bf87bcefd321b3a1ae47f04e908b6b2ed7b\"\u003e\u003ccode\u003e8c480bf\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3748\"\u003e#3748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/4b40616e959c0a2c466e8075f2a785a9f99bb0c1\"\u003e\u003ccode\u003e4b40616\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4.3.0 to 5.0.1 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3750\"\u003e#3750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/82b8479663d037d220c883f1584dd01a43bb273b\"\u003e\u003ccode\u003e82b8479\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6.0.0 to 7.0.0 (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3749\"\u003e#3749\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/urllib3/urllib3/commit/34284cb01700bb7d4fdd472f909e22393e9174e2\"\u003e\u003ccode\u003e34284cb\u003c/code\u003e\u003c/a\u003e Mention experimental features in the security policy (\u003ca href=\"https://redirect.github.com/urllib3/urllib3/issues/3746\"\u003e#3746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/urllib3/urllib3/compare/2.5.0...2.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pre-commit` from 4.5.0 to 4.5.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/releases\"\u003epre-commit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003epre-commit v4.5.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md\"\u003epre-commit's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.5.1 - 2025-12-16\u003c/h1\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003elanguage: python\u003c/code\u003e with \u003ccode\u003erepo: local\u003c/code\u003e without \u003ccode\u003eadditional_dependencies\u003c/code\u003e.\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e PR by \u003ca href=\"https://github.com/asottile\"\u003e\u003ccode\u003e@​asottile\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/8a0630ca1aa7f6d5665effe674ebe2022af17919\"\u003e\u003ccode\u003e8a0630c\u003c/code\u003e\u003c/a\u003e v4.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fcbc745744377ef2c9fe6a7e1a21c67d797933dc\"\u003e\u003ccode\u003efcbc745\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3597\"\u003e#3597\u003c/a\u003e from pre-commit/empty-setup-py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/51592eececd13b99c40ec477ad8f810799147227\"\u003e\u003ccode\u003e51592ee\u003c/code\u003e\u003c/a\u003e fix python local template when artifact dirs are present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/67e8faf80baffcb4b79c31b89ca9a413a1cd6776\"\u003e\u003ccode\u003e67e8faf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3596\"\u003e#3596\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/c251e6b6d011b3b262339dc8e109de29b0ff8db1\"\u003e\u003ccode\u003ec251e6b\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/98ccafa3ce42b846b9a9be9ed73fbbec7415496d\"\u003e\u003ccode\u003e98ccafa\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3593\"\u003e#3593\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/48953556d06f8cdb4248002c1a0044e69e0916b3\"\u003e\u003ccode\u003e4895355\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/2cedd58e691f4d3bc6ab266c7d7c28464c3502be\"\u003e\u003ccode\u003e2cedd58\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3588\"\u003e#3588\u003c/a\u003e from pre-commit/pre-commit-ci-update-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/465192d7de58d569776eaaa818c94cb2b962d436\"\u003e\u003ccode\u003e465192d\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pre-commit/pre-commit/commit/fd42f96874279c4f65363bfea5238714419e54d7\"\u003e\u003ccode\u003efd42f96\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pre-commit/pre-commit/issues/3586\"\u003e#3586\u003c/a\u003e from pre-commit/zipapp-sha256-file-not-needed\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pre-commit/pre-commit/compare/v4.5.0...v4.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.14.7 to 0.14.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.11\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-08.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConsolidate diagnostics for matched disable/enable suppression comments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22099\"\u003e#22099\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReport diagnostics for invalid/unmatched range suppression comments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21908\"\u003e#21908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Passing positional argument into \u003ccode\u003eairflow.lineage.hook.HookLineageCollector.create_asset\u003c/code\u003e is not allowed (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22046\"\u003e#22046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003eFURB192\u003c/code\u003e fix as always unsafe (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22210\"\u003e#22210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003enon-empty-init-module\u003c/code\u003e (\u003ccode\u003eRUF067\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22143\"\u003e#22143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix GitHub format for multi-line diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22108\"\u003e#22108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-unused-arguments\u003c/code\u003e] Mark \u003ccode\u003e**kwargs\u003c/code\u003e in \u003ccode\u003eTypeVar\u003c/code\u003e as used (\u003ccode\u003eARG001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22214\"\u003e#22214\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehelp:\u003c/code\u003e subdiagnostics for several Ruff rules that can sometimes appear to disagree with \u003ccode\u003ety\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22331\"\u003e#22331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Demote \u003ccode\u003ePLW1510\u003c/code\u003e fix to display-only (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22318\"\u003e#22318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Ignore identical members (\u003ccode\u003ePLR1714\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22220\"\u003e#22220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Improve diagnostic range for \u003ccode\u003ePLC0206\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22312\"\u003e#22312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Improve fix title for \u003ccode\u003eRUF102\u003c/code\u003e invalid rule code (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22100\"\u003e#22100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e]: Avoid unnecessary builtins import for \u003ccode\u003eSIM105\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22358\"\u003e#22358\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eConfiguration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow Python 3.15 as valid \u003ccode\u003etarget-version\u003c/code\u003e value in preview (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22419\"\u003e#22419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCheck \u003ccode\u003erequired-version\u003c/code\u003e before parsing rules (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22410\"\u003e#22410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude configured \u003ccode\u003esrc\u003c/code\u003e directories when resolving graphs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22451\"\u003e#22451\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003eT201\u003c/code\u003e suggestion to not use root logger to satisfy \u003ccode\u003eLOG015\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22059\"\u003e#22059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eiter\u003c/code\u003e example in unsafe fixes doc (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22118\"\u003e#22118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8_print\u003c/code\u003e] better suggestion for \u003ccode\u003ebasicConfig\u003c/code\u003e in \u003ccode\u003eT201\u003c/code\u003e docs (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22101\"\u003e#22101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Restore the fix safety docs for \u003ccode\u003ePLW0133\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22211\"\u003e#22211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Jupyter notebook discovery info for editors (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22447\"\u003e#22447\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/charliermarsh\"\u003e\u003ccode\u003e@​charliermarsh\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntBre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cenviity\"\u003e\u003ccode\u003e@​cenviity\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/njhearp\"\u003e\u003ccode\u003e@​njhearp\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cbachhuber\"\u003e\u003ccode\u003e@​cbachhuber\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelle-openai\"\u003e\u003ccode\u003e@​jelle-openai\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.14.11\u003c/h2\u003e\n\u003cp\u003eReleased on 2026-01-08.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConsolidate diagnostics for matched disable/enable suppression comments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22099\"\u003e#22099\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReport diagnostics for invalid/unmatched range suppression comments (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21908\"\u003e#21908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eairflow\u003c/code\u003e] Passing positional argument into \u003ccode\u003eairflow.lineage.hook.HookLineageCollector.create_asset\u003c/code\u003e is not allowed (\u003ccode\u003eAIR303\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22046\"\u003e#22046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003erefurb\u003c/code\u003e] Mark \u003ccode\u003eFURB192\u003c/code\u003e fix as always unsafe (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22210\"\u003e#22210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Add \u003ccode\u003enon-empty-init-module\u003c/code\u003e (\u003ccode\u003eRUF067\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22143\"\u003e#22143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix GitHub format for multi-line diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22108\"\u003e#22108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-unused-arguments\u003c/code\u003e] Mark \u003ccode\u003e**kwargs\u003c/code\u003e in \u003ccode\u003eTypeVar\u003c/code\u003e as used (\u003ccode\u003eARG001\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22214\"\u003e#22214\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRule changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ehelp:\u003c/code\u003e subdiagnostics for several Ruff rules that can sometimes appear to disagree with \u003ccode\u003ety\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22331\"\u003e#22331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Demote \u003ccode\u003ePLW1510\u003c/code\u003e fix to display-only (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22318\"\u003e#22318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Ignore identical members (\u003ccode\u003ePLR1714\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/22220\"\u003e#22220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epylint\u003c/code\u003e] Improve diagnostic range for \u003ccode\u003ePLC0206\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh...\n\n_Description has been truncated_","html_url":"https://github.com/statisticsnorway/dapla-toolbelt-metadata/pull/363","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/statisticsnorway%2Fdapla-toolbelt-metadata/issues/363","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/363/packages"}},{"old_version":"\u003c=2024.2.0","new_version":"\u003c=2026.1.0","update_type":null,"path":null,"pr_created_at":"2026-01-12T12:39:18.000Z","version_change":"\u003c=2024.2.0 → \u003c=2026.1.0","issue":{"uuid":"3804152273","node_id":"PR_kwDOKKn4uM68sQu0","number":289,"state":"closed","title":"Update gcsfs requirement from \u003c=2024.2.0 to \u003c=2026.1.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-02-19T01:07:51.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-12T12:39:18.000Z","updated_at":"2026-02-19T01:08:01.000Z","time_to_close":3241713,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"gcsfs","old_version":"\u003c=2024.2.0","new_version":"\u003c=2026.1.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [gcsfs](https://github.com/fsspec/gcsfs) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/3ed414aa2c5e5a78556726be11d663ff346bab40\"\u003e\u003ccode\u003e3ed414a\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/741\"\u003e#741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/bca0139193d8dd8103fc52bfa5caf2ffd2172e6a\"\u003e\u003ccode\u003ebca0139\u003c/code\u003e\u003c/a\u003e Implement async upload methods and support async mode in ExtendedGcsfs (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/9d64f5c5c74c59c840f440f82288f047bf557a3f\"\u003e\u003ccode\u003e9d64f5c\u003c/code\u003e\u003c/a\u003e mkdir override for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/4f9f4ac35f1df42dacfb56f9be200730058fd5ef\"\u003e\u003ccode\u003e4f9f4ac\u003c/code\u003e\u003c/a\u003e reformat benchmark readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/cdd65f5808f6864bd8bed08e7bb7a9359ab0cbe7\"\u003e\u003ccode\u003ecdd65f5\u003c/code\u003e\u003c/a\u003e Adds GCSFS Microbenchmarks (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/722\"\u003e#722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c8ed96a77d027115b436cd9062825f703955b891\"\u003e\u003ccode\u003ec8ed96a\u003c/code\u003e\u003c/a\u003e ✨ Support alternative GCP Universes (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/732\"\u003e#732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/e03bf2949664282d4eb09ba18c62a2d98085cba9\"\u003e\u003ccode\u003ee03bf29\u003c/code\u003e\u003c/a\u003e Override info for hns (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/730\"\u003e#730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/14276d82827f21c1ee6b736ff7896ae4211cc726\"\u003e\u003ccode\u003e14276d8\u003c/code\u003e\u003c/a\u003e Update ci pipeline to run tests on HNS bucket (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/729\"\u003e#729\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/c5ac0e3e65154d4d5ec1d1de1566a7b1ea7781d3\"\u003e\u003ccode\u003ec5ac0e3\u003c/code\u003e\u003c/a\u003e feat(zb-write): Support write mode in Zonal File (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/06399c09003b66292bf25206e500796a8855ce72\"\u003e\u003ccode\u003e06399c0\u003c/code\u003e\u003c/a\u003e Adds mv/rename method implementation for HNS buckets (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/727\"\u003e#727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/0.0.1...2026.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.\n","html_url":"https://github.com/google/Xee/pull/289","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2FXee/issues/289","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/289/packages"}},{"old_version":"\u003c=2024.2.0","new_version":"\u003c=2025.12.0","update_type":"minor","path":null,"pr_created_at":"2025-12-22T10:20:59.000Z","version_change":"\u003c=2024.2.0 → \u003c=2025.12.0","issue":{"uuid":"3753216875","node_id":"PR_kwDOKKn4uM66HHOV","number":285,"state":"closed","title":"Update gcsfs requirement from \u003c=2024.2.0 to \u003c=2025.12.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-12T12:39:21.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-22T10:20:59.000Z","updated_at":"2026-01-12T12:39:22.000Z","time_to_close":1822702,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"gcsfs","old_version":"\u003c=2024.2.0","new_version":"\u003c=2025.12.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [gcsfs](https://github.com/fsspec/gcsfs) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/6f38dd7e8914532e42ec621f4376212cd16fef11\"\u003e\u003ccode\u003e6f38dd7\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/717\"\u003e#717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/54c6c9223aca7c4b7b071fe6ec09be6aada944ca\"\u003e\u003ccode\u003e54c6c92\u003c/code\u003e\u003c/a\u003e Fixes for actual GCS bucket tests (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/714\"\u003e#714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/13fe69d3f6b7014c8f216dc4b0ee45e982cfb363\"\u003e\u003ccode\u003e13fe69d\u003c/code\u003e\u003c/a\u003e adds the logic to only run extended gcsfilesystem tests when experimental env...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/47c2d76efdc68e6225f54a1dd025bb50ac8c6a0c\"\u003e\u003ccode\u003e47c2d76\u003c/code\u003e\u003c/a\u003e Feat: Introduce ExtendedGcsFileSystem for Zonal Bucket gRPC Read Path (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/707\"\u003e#707\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/5315c7057a19b1538a6bb25985f9f20ae3385074\"\u003e\u003ccode\u003e5315c70\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop EOL 3.9 (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/709\"\u003e#709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/45953e2534a05b8c3aa33f392fbf1157a62c157b\"\u003e\u003ccode\u003e45953e2\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/706\"\u003e#706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/3d51c1756b2fc3e0f5d2891aea4a7f0b30f71b01\"\u003e\u003ccode\u003e3d51c17\u003c/code\u003e\u003c/a\u003e Fix for slower exists() and info() calls (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/705\"\u003e#705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/6695146a2c27f54051f514bb890e955ca821b89c\"\u003e\u003ccode\u003e6695146\u003c/code\u003e\u003c/a\u003e Add CoC (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/f547fd832c0b5a7060dd1e1ae1f7527355b639d1\"\u003e\u003ccode\u003ef547fd8\u003c/code\u003e\u003c/a\u003e Should not attempt to create bucket by default on mkdir (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/701\"\u003e#701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/bebff271a462d4af57bc62e972d1e7ad5c5f429f\"\u003e\u003ccode\u003ebebff27\u003c/code\u003e\u003c/a\u003e Add goatcounter (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/700\"\u003e#700\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/0.0.1...2025.12.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 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/google/Xee/pull/285","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2FXee/issues/285","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/285/packages"}},{"old_version":"2025.3.2","new_version":"2025.9.0","update_type":"minor","path":null,"pr_created_at":"2025-10-21T07:19:39.000Z","version_change":"2025.3.2 → 2025.9.0","issue":{"uuid":"3535248591","node_id":"PR_kwDOChdfis6uxuqr","number":8298,"state":"open","title":"chore(deps): bump gcsfs from 2025.3.2 to 2025.9.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":8,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-21T07:19:39.000Z","updated_at":"2026-01-05T16:03:38.637Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"gcsfs","old_version":"2025.3.2","new_version":"2025.9.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Bumps [gcsfs](https://github.com/fsspec/gcsfs) from 2025.3.2 to 2025.9.0.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/0b0e077e7a84640ff5ed6c8807026b9e5512d65a\"\u003e\u003ccode\u003e0b0e077\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/64e232c2ee976464ecf9e391cfd592e849d7ffa0\"\u003e\u003ccode\u003e64e232c\u003c/code\u003e\u003c/a\u003e Fix iterating over every entry (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/697\"\u003e#697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/d97099ab40138745569fff98a098defcd7693270\"\u003e\u003ccode\u003ed97099a\u003c/code\u003e\u003c/a\u003e Ensure right error type for get() on nonexistent (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/54e8faa3c6b620f99e232a803d2a86b717c1e6e4\"\u003e\u003ccode\u003e54e8faa\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/40882ce5fc55b941bf566d80f1fc79f7366ccd70\"\u003e\u003ccode\u003e40882ce\u003c/code\u003e\u003c/a\u003e add support message (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/7872bd7a931fb4285d5762ff5d861b8653fc7b70\"\u003e\u003ccode\u003e7872bd7\u003c/code\u003e\u003c/a\u003e remove addcidental inclusion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/55cb49862eaebbe4e6e99455f1eb4079705f66d9\"\u003e\u003ccode\u003e55cb498\u003c/code\u003e\u003c/a\u003e less refresh in ci (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/818b563e7c171d950b12378acb066660f0d9ac81\"\u003e\u003ccode\u003e818b563\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/689\"\u003e#689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/805295a96033fcfcade9151f73a568a30e1bbe84\"\u003e\u003ccode\u003e805295a\u003c/code\u003e\u003c/a\u003e Use correct timezone conversion for credentials expiry timestamp (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/1543ab4fcc4b17fcaa680abab0e93fed33980e21\"\u003e\u003ccode\u003e1543ab4\u003c/code\u003e\u003c/a\u003e Fix timezone comparison (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/683\"\u003e#683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.3.2...2025.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gcsfs\u0026package-manager=pip\u0026previous-version=2025.3.2\u0026new-version=2025.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/mozilla/bigquery-etl/pull/8298","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fbigquery-etl/issues/8298","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/8298/packages"}},{"old_version":"2025.7.0","new_version":"2025.9.0","update_type":"minor","path":null,"pr_created_at":"2025-10-01T10:25:41.000Z","version_change":"2025.7.0 → 2025.9.0","issue":{"uuid":"2877688462","node_id":"PR_kwDOOIh6886rhgqO","number":188,"state":"open","title":"Bump the poetry-dependencies group across 1 directory with 49 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-10-01T10:25:41.000Z","updated_at":"2025-10-01T10:25:42.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"poetry-dependencies","update_count":49,"packages":[{"name":"black","old_version":"25.1.0","new_version":"25.9.0","repository_url":"https://github.com/psf/black"},{"name":"coverage","old_version":"7.10.4","new_version":"7.10.7","repository_url":"https://github.com/nedbat/coveragepy"},{"name":"furo","old_version":"2025.7.19","new_version":"2025.9.25","repository_url":"https://github.com/pradyunsg/furo"},{"name":"mypy","old_version":"1.17.1","new_version":"1.18.2","repository_url":"https://github.com/python/mypy"},{"name":"ruff","old_version":"0.12.10","new_version":"0.13.2","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pytest","old_version":"8.4.1","new_version":"8.4.2","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"sphinx-click","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/click-contrib/sphinx-click"},{"name":"xdoctest","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/Erotemic/xdoctest"},{"name":"anyio","old_version":"4.10.0","new_version":"4.11.0","repository_url":"https://github.com/agronholm/anyio"},{"name":"beautifulsoup4","old_version":"4.13.4","new_version":"4.14.2"},{"name":"cffi","old_version":"1.17.1","new_version":"2.0.0","repository_url":"https://github.com/python-cffi/cffi"},{"name":"click","old_version":"8.2.1","new_version":"8.3.0","repository_url":"https://github.com/pallets/click"},{"name":"dash-ag-grid","old_version":"32.3.1","new_version":"32.3.2","repository_url":"https://github.com/plotly/dash-ag-grid"},{"name":"debugpy","old_version":"1.8.16","new_version":"1.8.17","repository_url":"https://github.com/microsoft/debugpy"},{"name":"duckdb","old_version":"1.3.2","new_version":"1.4.0","repository_url":"https://github.com/duckdb/duckdb-python"},{"name":"executing","old_version":"2.2.0","new_version":"2.2.1","repository_url":"https://github.com/alexmojaki/executing"},{"name":"gcsfs","old_version":"2025.7.0","new_version":"2025.9.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"google-auth","old_version":"2.40.3","new_version":"2.41.1","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-cloud-storage","old_version":"3.3.0","new_version":"3.4.0","repository_url":"https://github.com/googleapis/python-storage"},{"name":"grpcio","old_version":"1.74.0","new_version":"1.75.1","repository_url":"https://github.com/grpc/grpc"},{"name":"grpcio-status","old_version":"1.74.0","new_version":"1.75.1"},{"name":"identify","old_version":"2.6.13","new_version":"2.6.14","repository_url":"https://github.com/pre-commit/identify"},{"name":"lxml","old_version":"6.0.1","new_version":"6.0.2","repository_url":"https://github.com/lxml/lxml"},{"name":"markupsafe","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/pallets/markupsafe"},{"name":"narwhals","old_version":"2.1.2","new_version":"2.6.0","repository_url":"https://github.com/narwhals-dev/narwhals"},{"name":"opentelemetry-api","old_version":"1.36.0","new_version":"1.37.0","repository_url":"https://github.com/open-telemetry/opentelemetry-python"},{"name":"orjson","old_version":"3.11.2","new_version":"3.11.3","repository_url":"https://github.com/ijl/orjson"},{"name":"pandas","old_version":"2.3.2","new_version":"2.3.3","repository_url":"https://github.com/pandas-dev/pandas"},{"name":"parso","old_version":"0.8.4","new_version":"0.8.5","repository_url":"https://github.com/davidhalter/parso"},{"name":"platformdirs","old_version":"4.3.8","new_version":"4.4.0","repository_url":"https://github.com/tox-dev/platformdirs"},{"name":"polars","old_version":"1.32.3","new_version":"1.33.1","repository_url":"https://github.com/pola-rs/polars"},{"name":"prompt-toolkit","old_version":"3.0.51","new_version":"3.0.52","repository_url":"https://github.com/prompt-toolkit/python-prompt-toolkit"},{"name":"protobuf","old_version":"6.32.0","new_version":"6.32.1","repository_url":"https://github.com/protocolbuffers/protobuf"},{"name":"psutil","old_version":"7.0.0","new_version":"7.1.0","repository_url":"https://github.com/giampaolo/psutil"},{"name":"pycparser","old_version":"2.22","new_version":"2.23","repository_url":"https://github.com/eliben/pycparser"},{"name":"python-calamine","old_version":"0.4.0","new_version":"0.5.3","repository_url":"https://github.com/dimastbk/python-calamine"},{"name":"pyyaml","old_version":"6.0.2","new_version":"6.0.3","repository_url":"https://github.com/yaml/pyyaml"},{"name":"pyzmq","old_version":"27.0.2","new_version":"27.1.0","repository_url":"https://github.com/zeromq/pyzmq"},{"name":"ruamel-yaml-clib","old_version":"0.2.12","new_version":"0.2.14"},{"name":"shapely","old_version":"2.1.1","new_version":"2.1.2","repository_url":"https://github.com/shapely/shapely"},{"name":"soupsieve","old_version":"2.7","new_version":"2.8","repository_url":"https://github.com/facelessuser/soupsieve"},{"name":"starlette","old_version":"0.47.2","new_version":"0.48.0","repository_url":"https://github.com/Kludex/starlette"},{"name":"types-requests","old_version":"2.32.4.20250809","new_version":"2.32.4.20250913","repository_url":"https://github.com/typeshed-internal/stub_uploader"},{"name":"typing-extensions","old_version":"4.14.1","new_version":"4.15.0","repository_url":"https://github.com/python/typing_extensions"},{"name":"uvicorn","old_version":"0.35.0","new_version":"0.37.0","repository_url":"https://github.com/Kludex/uvicorn"},{"name":"wcwidth","old_version":"0.2.13","new_version":"0.2.14","repository_url":"https://github.com/jquast/wcwidth"},{"name":"xlsxwriter","old_version":"3.2.5","new_version":"3.2.9","repository_url":"https://github.com/jmcnamara/XlsxWriter"}],"path":null,"ecosystem":"pip"},"body":"Bumps the poetry-dependencies group with 47 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [black](https://github.com/psf/black) | `25.1.0` | `25.9.0` |\n| [coverage](https://github.com/nedbat/coveragepy) | `7.10.4` | `7.10.7` |\n| [furo](https://github.com/pradyunsg/furo) | `2025.7.19` | `2025.9.25` |\n| [mypy](https://github.com/python/mypy) | `1.17.1` | `1.18.2` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.12.10` | `0.13.2` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.1` | `8.4.2` |\n| [sphinx-click](https://github.com/click-contrib/sphinx-click) | `6.0.0` | `6.1.0` |\n| [xdoctest](https://github.com/Erotemic/xdoctest) | `1.2.0` | `1.3.0` |\n| [anyio](https://github.com/agronholm/anyio) | `4.10.0` | `4.11.0` |\n| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.4` | `4.14.2` |\n| [cffi](https://github.com/python-cffi/cffi) | `1.17.1` | `2.0.0` |\n| [click](https://github.com/pallets/click) | `8.2.1` | `8.3.0` |\n| [dash-ag-grid](https://github.com/plotly/dash-ag-grid) | `32.3.1` | `32.3.2` |\n| [debugpy](https://github.com/microsoft/debugpy) | `1.8.16` | `1.8.17` |\n| [duckdb](https://github.com/duckdb/duckdb-python) | `1.3.2` | `1.4.0` |\n| [executing](https://github.com/alexmojaki/executing) | `2.2.0` | `2.2.1` |\n| [gcsfs](https://github.com/fsspec/gcsfs) | `2025.7.0` | `2025.9.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.40.3` | `2.41.1` |\n| [google-cloud-storage](https://github.com/googleapis/python-storage) | `3.3.0` | `3.4.0` |\n| [grpcio](https://github.com/grpc/grpc) | `1.74.0` | `1.75.1` |\n| [grpcio-status](https://grpc.io) | `1.74.0` | `1.75.1` |\n| [identify](https://github.com/pre-commit/identify) | `2.6.13` | `2.6.14` |\n| [lxml](https://github.com/lxml/lxml) | `6.0.1` | `6.0.2` |\n| [markupsafe](https://github.com/pallets/markupsafe) | `3.0.2` | `3.0.3` |\n| [narwhals](https://github.com/narwhals-dev/narwhals) | `2.1.2` | `2.6.0` |\n| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.36.0` | `1.37.0` |\n| [orjson](https://github.com/ijl/orjson) | `3.11.2` | `3.11.3` |\n| [pandas](https://github.com/pandas-dev/pandas) | `2.3.2` | `2.3.3` |\n| [parso](https://github.com/davidhalter/parso) | `0.8.4` | `0.8.5` |\n| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.3.8` | `4.4.0` |\n| [polars](https://github.com/pola-rs/polars) | `1.32.3` | `1.33.1` |\n| [prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) | `3.0.51` | `3.0.52` |\n| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.32.0` | `6.32.1` |\n| [psutil](https://github.com/giampaolo/psutil) | `7.0.0` | `7.1.0` |\n| [pycparser](https://github.com/eliben/pycparser) | `2.22` | `2.23` |\n| [python-calamine](https://github.com/dimastbk/python-calamine) | `0.4.0` | `0.5.3` |\n| [pyyaml](https://github.com/yaml/pyyaml) | `6.0.2` | `6.0.3` |\n| [pyzmq](https://github.com/zeromq/pyzmq) | `27.0.2` | `27.1.0` |\n| ruamel-yaml-clib | `0.2.12` | `0.2.14` |\n| [shapely](https://github.com/shapely/shapely) | `2.1.1` | `2.1.2` |\n| [soupsieve](https://github.com/facelessuser/soupsieve) | `2.7` | `2.8` |\n| [starlette](https://github.com/Kludex/starlette) | `0.47.2` | `0.48.0` |\n| [types-requests](https://github.com/typeshed-internal/stub_uploader) | `2.32.4.20250809` | `2.32.4.20250913` |\n| [typing-extensions](https://github.com/python/typing_extensions) | `4.14.1` | `4.15.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.35.0` | `0.37.0` |\n| [wcwidth](https://github.com/jquast/wcwidth) | `0.2.13` | `0.2.14` |\n| [xlsxwriter](https://github.com/jmcnamara/XlsxWriter) | `3.2.5` | `3.2.9` |\n\n\nUpdates `black` from 25.1.0 to 25.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\u003ccode\u003eas\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild gallery docker image with python3-slim and reduce image size (\u003ca href=\"https://redirect.github.com/psf/black/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\u003ccode\u003eas\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\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/psf/black/commit/af0ba72a73598c76189d6dd1b21d8532255d5942\"\u003e\u003ccode\u003eaf0ba72\u003c/code\u003e\u003c/a\u003e Prepare docs for release 25.9.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4751\"\u003e#4751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/ffc01a027580d99401abb3197e83d50dc4f4c746\"\u003e\u003ccode\u003effc01a0\u003c/code\u003e\u003c/a\u003e Fix schema generation error caused by new click version (\u003ca href=\"https://redirect.github.com/psf/black/issues/4750\"\u003e#4750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/626b32fe2b5387656be6694da9a4b7a3148fb892\"\u003e\u003ccode\u003e626b32f\u003c/code\u003e\u003c/a\u003e Add normalizing for \u003ccode\u003e\\r\u003c/code\u003e style newlines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/57a461258f324e33bca189b2eb49d7f7a944ffe7\"\u003e\u003ccode\u003e57a4612\u003c/code\u003e\u003c/a\u003e Fix mypy type issue (\u003ca href=\"https://redirect.github.com/psf/black/issues/4745\"\u003e#4745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4f6ad7cf8c3092e0fb4d82f54fe77ccde134468a\"\u003e\u003ccode\u003e4f6ad7c\u003c/code\u003e\u003c/a\u003e Wrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/24f516961720c5578069dee30415b776359b7be5\"\u003e\u003ccode\u003e24f5169\u003c/code\u003e\u003c/a\u003e ci: Run diff-shades on unstable instead of preview (\u003ca href=\"https://redirect.github.com/psf/black/issues/4741\"\u003e#4741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4d55e6017993ee3f0927524e8bc19ead8de9e8ed\"\u003e\u003ccode\u003e4d55e60\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4744\"\u003e#4744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0cf39efdbc3aaea455f95d31e5b42efb6bd61478\"\u003e\u003ccode\u003e0cf39ef\u003c/code\u003e\u003c/a\u003e Improve the performance of get_string_prefix (\u003ca href=\"https://redirect.github.com/psf/black/issues/4742\"\u003e#4742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/1f779dec013db37475fa56a5c9939a09eab7e7d6\"\u003e\u003ccode\u003e1f779de\u003c/code\u003e\u003c/a\u003e Fix line ranges decorator edge case (\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/203fd6b5cdad975178b8174394a7f7fb13d14f02\"\u003e\u003ccode\u003e203fd6b\u003c/code\u003e\u003c/a\u003e Optimize Line string method (\u003ca href=\"https://redirect.github.com/psf/black/issues/4739\"\u003e#4739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.1.0...25.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `coverage` from 7.10.4 to 7.10.7\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst\"\u003ecoverage's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 7.10.7 — 2025-09-21\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: with branch coverage in large files, generating HTML, JSON, or\nLCOV reports could take far too long due to some quadratic behavior when\ncreating the function and class index pages.  This is now fixed, closing\n\u003ccode\u003eissue 2048\u003c/code\u003e_.  Thanks to Daniel Diniz for help diagnosing the problem.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMost warnings and a few errors now have links to a page in the docs\nexplaining the specific message.  Closes \u003ccode\u003eissue 1921\u003c/code\u003e_.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1921: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1921\"\u003enedbat/coveragepy#1921\u003c/a\u003e\n.. _issue 2048: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2048\"\u003enedbat/coveragepy#2048\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-6:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.6 — 2025-08-29\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFix: \u003ccode\u003esource\u003c/code\u003e directories were not properly communicated to subprocesses\nthat ran in different directories, as reported in \u003ccode\u003eissue 1499\u003c/code\u003e_.  This is now\nfixed.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003ePerformance: \u003ccode\u003eAlex Gaynor continues fine-tuning \u0026lt;pull 2038_\u0026gt;\u003c/code\u003e_ the speed of\ncombination, especially with many contexts.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _issue 1499: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/1499\"\u003enedbat/coveragepy#1499\u003c/a\u003e\n.. _pull 2038: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2038\"\u003enedbat/coveragepy#2038\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-5:\u003c/p\u003e\n\u003ch2\u003eVersion 7.10.5 — 2025-08-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBig speed improvements for \u003ccode\u003ecoverage combine\u003c/code\u003e: it's now about twice as\nfast! Huge thanks to Alex Gaynor for pull requests \u003ccode\u003e2032 \u0026lt;pull 2032_\u0026gt;\u003c/code\u003e\u003cem\u003e,\n\u003ccode\u003e2033 \u0026lt;pull 2033_\u0026gt;\u003c/code\u003e\u003c/em\u003e, and \u003ccode\u003e2034 \u0026lt;pull 2034_\u0026gt;\u003c/code\u003e_.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _pull 2032: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2032\"\u003enedbat/coveragepy#2032\u003c/a\u003e\n.. _pull 2033: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2033\"\u003enedbat/coveragepy#2033\u003c/a\u003e\n.. _pull 2034: \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/pull/2034\"\u003enedbat/coveragepy#2034\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e.. _changes_7-10-4:\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/nedbat/coveragepy/commit/92a2af54e6bc948a9c536bd9b12bab70fb055904\"\u003e\u003ccode\u003e92a2af5\u003c/code\u003e\u003c/a\u003e docs: sample HTML for 7.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/952afdaca658d5e1acdd533c727448a0b218caf0\"\u003e\u003ccode\u003e952afda\u003c/code\u003e\u003c/a\u003e docs: prep for 7.10.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/a301761e69da97b27662f395974d26f78fa8b2b5\"\u003e\u003ccode\u003ea301761\u003c/code\u003e\u003c/a\u003e build: riscv64 wheels (\u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2055\"\u003e#2055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/5daff8d38786aa540ff9bec622eb3389f117f911\"\u003e\u003ccode\u003e5daff8d\u003c/code\u003e\u003c/a\u003e docs: now source is formatted with ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/04bbc3acfd914fdd99ffec9873bc03bdc7329357\"\u003e\u003ccode\u003e04bbc3a\u003c/code\u003e\u003c/a\u003e docs: discuss cog in the contributing docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/c181b9315f59a81667da47cf3d760d0253872238\"\u003e\u003ccode\u003ec181b93\u003c/code\u003e\u003c/a\u003e build: use cog --check-fail-msg to instruct devs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/33c4ba196f49e0ee86ab0ff473c0876c0bacd5fa\"\u003e\u003ccode\u003e33c4ba1\u003c/code\u003e\u003c/a\u003e chore: make upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/0744b73b6b503ccf2cb75aba095c023672b921a8\"\u003e\u003ccode\u003e0744b73\u003c/code\u003e\u003c/a\u003e chore: bump the action-dependencies group across 1 directory with 2 updates (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/0d5a112fc54c1d5a07f3f2ec451779808902c9af\"\u003e\u003ccode\u003e0d5a112\u003c/code\u003e\u003c/a\u003e perf: bulk narrowing to avoid N**2. \u003ca href=\"https://redirect.github.com/nedbat/coveragepy/issues/2048\"\u003e#2048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nedbat/coveragepy/commit/a868ed9269ca474748130f5c6360cd2aae66ffc8\"\u003e\u003ccode\u003ea868ed9\u003c/code\u003e\u003c/a\u003e docs: mention Python Discord on the index page\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nedbat/coveragepy/compare/7.10.4...7.10.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `furo` from 2025.7.19 to 2025.9.25\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pradyunsg/furo/blob/main/docs/changelog.md\"\u003efuro's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e2025.09.25 -- Gleaming Green\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange the dark mode code back to \u003ccode\u003enative\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2025.07.19 -- Frozen Flame\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Switch to accessible-pygments themes\u003c/li\u003e\n\u003cli\u003e✨ Prefetch the sidebar logos\u003c/li\u003e\n\u003cli\u003e✨ Fix flickering header drop shadow on Safari\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003erel=edit\u003c/code\u003e attribute to \u0026quot;Edit this page\u0026quot; link/icon\u003c/li\u003e\n\u003cli\u003eBump NodeJS and npm dependency versions\u003c/li\u003e\n\u003cli\u003eBump Saas \u0026amp; Webpack major versions\u003c/li\u003e\n\u003cli\u003eImprove current page detection to be resilient to sticky elements above header\u003c/li\u003e\n\u003cli\u003eModernise Sass and use \u003ccode\u003e@use\u003c/code\u003e + \u003ccode\u003e@forward\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eRemove top of code \u003ccode\u003eborder-radius\u003c/code\u003e with captions\u003c/li\u003e\n\u003cli\u003eRemove \u0026quot;debug printf\u0026quot; for headerTop value\u003c/li\u003e\n\u003cli\u003eUse distinct images for light and dark mode in the documentation\u003c/li\u003e\n\u003cli\u003eUse the modern Saas Modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024.08.06 -- Energetic Eminence\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add support for Sphinx 8\u003c/li\u003e\n\u003cli\u003e✨ Add smoother transitions between breakpoints\u003c/li\u003e\n\u003cli\u003eIncrease specificity of table-wrapper selector\u003c/li\u003e\n\u003cli\u003eAvoid page breaks inside paragraphs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024.07.18 -- Dull Denim\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove how icons are handled and aligned.\u003c/li\u003e\n\u003cli\u003eImprove scroll event handler.\u003c/li\u003e\n\u003cli\u003eHide the copybutton by default.\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003esource_view_link\u003c/code\u003e configuration handling.\u003c/li\u003e\n\u003cli\u003eFix close tag on pencil icon.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2024.05.06 -- Cheerful Cerulean\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e✨ Add new custom icons for auto mode, reflecting the currently active theme.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/7c5f8fac52926f4854141cb5bf374c1681aedbec\"\u003e\u003ccode\u003e7c5f8fa\u003c/code\u003e\u003c/a\u003e Prepare release: 2025.09.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/8bfdc54b2e8803450a2cb5dcab643a40b6934be2\"\u003e\u003ccode\u003e8bfdc54\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/d92b62fee4cedd5b2ac1d267353d96541c9e0fb0\"\u003e\u003ccode\u003ed92b62f\u003c/code\u003e\u003c/a\u003e Switch the dark mode theme back to \u003ccode\u003enative\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/83c3446288014357bb8a7875bb81b664b7f15896\"\u003e\u003ccode\u003e83c3446\u003c/code\u003e\u003c/a\u003e Add Blender to \u0026quot;used by\u0026quot; section (\u003ca href=\"https://redirect.github.com/pradyunsg/furo/issues/898\"\u003e#898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/426ea05d879ee7dfdf74ba7c8b089f73081abbfd\"\u003e\u003ccode\u003e426ea05\u003c/code\u003e\u003c/a\u003e Remove old scrollbar selectors (\u003ca href=\"https://redirect.github.com/pradyunsg/furo/issues/892\"\u003e#892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/d22d31c4b196a29092ac606737b6e9a7ae99273a\"\u003e\u003ccode\u003ed22d31c\u003c/code\u003e\u003c/a\u003e Remove trailing slash on void elements (\u003ca href=\"https://redirect.github.com/pradyunsg/furo/issues/895\"\u003e#895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/f91944a688410f0aecd936b02f658279814ec017\"\u003e\u003ccode\u003ef91944a\u003c/code\u003e\u003c/a\u003e Fix invalid HTML5 (\u003ca href=\"https://redirect.github.com/pradyunsg/furo/issues/894\"\u003e#894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pradyunsg/furo/commit/a1f74d89a18ca59d231fe365bcc1616f6934ad28\"\u003e\u003ccode\u003ea1f74d8\u003c/code\u003e\u003c/a\u003e Back to development\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pradyunsg/furo/compare/2025.07.19...2025.09.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mypy` from 1.17.1 to 1.18.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python/mypy/blob/master/CHANGELOG.md\"\u003emypy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003eMypy 1.18.2\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash on recursive alias (Ivan Levkivskyi, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19845\"\u003e19845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd additional guidance for stubtest errors when runtime is \u003ccode\u003eobject.__init__\u003c/code\u003e (Stephen Morton, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19733\"\u003e19733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix handling of None values in f-string expressions in mypyc (BobTheBuidler, PR \u003ca href=\"https://redirect.github.com/python/mypy/pull/19846\"\u003e19846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAcknowledgements\u003c/h3\u003e\n\u003cp\u003eThanks to all mypy contributors who contributed to this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAli Hamdan\u003c/li\u003e\n\u003cli\u003eAnthony Sottile\u003c/li\u003e\n\u003cli\u003eBobTheBuidler\u003c/li\u003e\n\u003cli\u003eBrian Schubert\u003c/li\u003e\n\u003cli\u003eChainfire\u003c/li\u003e\n\u003cli\u003eCharlie Denton\u003c/li\u003e\n\u003cli\u003eChristoph Tyralla\u003c/li\u003e\n\u003cli\u003eCoolCat467\u003c/li\u003e\n\u003cli\u003eDaniel Hnyk\u003c/li\u003e\n\u003cli\u003eEmily\u003c/li\u003e\n\u003cli\u003eEmma Smith\u003c/li\u003e\n\u003cli\u003eEthan Sarp\u003c/li\u003e\n\u003cli\u003eIvan Levkivskyi\u003c/li\u003e\n\u003cli\u003eJahongir Qurbonov\u003c/li\u003e\n\u003cli\u003eJelle Zijlstra\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eJukka Lehtosalo\u003c/li\u003e\n\u003cli\u003eMarc Mueller\u003c/li\u003e\n\u003cli\u003eOmer Hadari\u003c/li\u003e\n\u003cli\u003ePiotr Sawicki\u003c/li\u003e\n\u003cli\u003ePrinceNaroliya\u003c/li\u003e\n\u003cli\u003eRandolf Scholz\u003c/li\u003e\n\u003cli\u003eRobsdedude\u003c/li\u003e\n\u003cli\u003eSaul Shanabrook\u003c/li\u003e\n\u003cli\u003eShantanu\u003c/li\u003e\n\u003cli\u003eStanislav Terliakov\u003c/li\u003e\n\u003cli\u003eStephen Morton\u003c/li\u003e\n\u003cli\u003ewyattscarpenter\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eI’d also like to thank my employer, Dropbox, for supporting mypy development.\u003c/p\u003e\n\u003ch2\u003eMypy 1.17\u003c/h2\u003e\n\u003cp\u003eWe’ve just uploaded mypy 1.17 to the Python Package Index (\u003ca href=\"https://pypi.org/project/mypy/\"\u003ePyPI\u003c/a\u003e).\nMypy is a static type checker for Python. This release includes new features and bug fixes.\nYou can install it as follows:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install -U mypy\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can read the full documentation for this release on \u003ca href=\"http://mypy.readthedocs.io\"\u003eRead the Docs\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/python/mypy/commit/df05f05555ee62dbdb9960c64cad186172e92be1\"\u003e\u003ccode\u003edf05f05\u003c/code\u003e\u003c/a\u003e remove +dev from version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/01a7a1285d03cb7a330359b22cb462aacb5f9720\"\u003e\u003ccode\u003e01a7a12\u003c/code\u003e\u003c/a\u003e Update changelog for 1.18.2 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19873\"\u003e#19873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/ca5abf09f3bfc543ac9c18a364696bc5da20bc03\"\u003e\u003ccode\u003eca5abf0\u003c/code\u003e\u003c/a\u003e Typeshed cherry-pick: Make type of \u003ccode\u003eunitest.mock.Any\u003c/code\u003e a subclass of \u003ccode\u003eAny\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/python/mypy/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/9d794b57d9c5b03d61caa3286756c05e0ae3021b\"\u003e\u003ccode\u003e9d794b5\u003c/code\u003e\u003c/a\u003e [mypyc] fix: inappropriate \u003ccode\u003eNone\u003c/code\u003es in f-strings (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19846\"\u003e#19846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2c0510c84868b6bb42ef0f305b701e530a85c25f\"\u003e\u003ccode\u003e2c0510c\u003c/code\u003e\u003c/a\u003e stubtest: additional guidance on errors when runtime is object.\u003cstrong\u003einit\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19733\"\u003e#19733\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/2f3f03c3e39e68dbfa3544c01a34f99803b3e1c2\"\u003e\u003ccode\u003e2f3f03c\u003c/code\u003e\u003c/a\u003e Bump version to 1.18.2+dev for point release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/76698412bc1f3ca99000d52649acd5a0e06aa71d\"\u003e\u003ccode\u003e7669841\u003c/code\u003e\u003c/a\u003e Fix crash on recursive alias in indirection.py (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19845\"\u003e#19845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/03fbaa941bccc3a9f8aea796d586603b67119bf2\"\u003e\u003ccode\u003e03fbaa9\u003c/code\u003e\u003c/a\u003e bump version to 1.18.1 due to wheels failure\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/b44a1fbf0cf9fd90fd29d6bcd9f64c55dd2fd4c8\"\u003e\u003ccode\u003eb44a1fb\u003c/code\u003e\u003c/a\u003e removed +dev from version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python/mypy/commit/7197a99d1aebb1b7a584f82a53c44efb7dddf136\"\u003e\u003ccode\u003e7197a99\u003c/code\u003e\u003c/a\u003e Removed Unreleased in the Changelog for Release 1.18 (\u003ca href=\"https://redirect.github.com/python/mypy/issues/19827\"\u003e#19827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/python/mypy/compare/v1.17.1...v1.18.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ruff` from 0.12.10 to 0.13.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/releases\"\u003eruff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.13.2\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-09-25.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eblocking-path-method\u003c/code\u003e (\u003ccode\u003eASYNC240\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20264\"\u003e#20264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Implement \u003ccode\u003emap-without-explicit-strict\u003c/code\u003e (\u003ccode\u003eB912\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20429\"\u003e#20429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bultins\u003c/code\u003e] Detect class-scope builtin shadowing in decorators, default args, and attribute initializers (\u003ccode\u003eA003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20178\"\u003e#20178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Implement \u003ccode\u003elogging-eager-conversion\u003c/code\u003e (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19942\"\u003e#19942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude \u003ccode\u003e.pyw\u003c/code\u003e files by default when linting and formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20458\"\u003e#20458\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeduplicate input paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20105\"\u003e#20105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Preserve trailing commas for single-element lists (\u003ccode\u003eC409\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19571\"\u003e#19571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Avoid syntax error from conflict with \u003ccode\u003ePIE790\u003c/code\u003e (\u003ccode\u003ePYI021\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20010\"\u003e#20010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Correct fix for positive \u003ccode\u003emaxsplit\u003c/code\u003e without separator (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20056\"\u003e#20056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e not to apply when \u003ccode\u003e__class__\u003c/code\u003e is a local variable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20497\"\u003e#20497\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix \u003ccode\u003eB004\u003c/code\u003e to skip invalid \u003ccode\u003ehasattr\u003c/code\u003e/\u003ccode\u003egetattr\u003c/code\u003e calls (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20486\"\u003e#20486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Replace \u003ccode\u003e-nan\u003c/code\u003e with \u003ccode\u003enan\u003c/code\u003e when using the value to construct a \u003ccode\u003eDecimal\u003c/code\u003e (\u003ccode\u003eFURB164\u003c/code\u003e ) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20391\"\u003e#20391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'Finding ways to help' to CONTRIBUTING.md (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20567\"\u003e#20567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate import path to \u003ccode\u003eruff-wasm-web\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20539\"\u003e#20539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Clarify the supported hashing functions (\u003ccode\u003eS324\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20534\"\u003e#20534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eplayground\u003c/code\u003e] Allow hover quick fixes to appear for overlapping diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20527\"\u003e#20527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eplayground\u003c/code\u003e] Fix non‑BMP code point handling in quick fixes and markers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20526\"\u003e#20526\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi\"\u003e\u003ccode\u003e@​BurntSushi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mtshiba\"\u003e\u003ccode\u003e@​mtshiba\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/second-ed\"\u003e\u003ccode\u003e@​second-ed\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShikChen\"\u003e\u003ccode\u003e@​ShikChen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PieterCK\"\u003e\u003ccode\u003e@​PieterCK\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GDYendell\"\u003e\u003ccode\u003e@​GDYendell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RazerM\"\u003e\u003ccode\u003e@​RazerM\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TaKO8Ki\"\u003e\u003ccode\u003e@​TaKO8Ki\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amyreese\"\u003e\u003ccode\u003e@​amyreese\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntbre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ruff 0.13.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md\"\u003eruff's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.13.2\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-09-25.\u003c/p\u003e\n\u003ch3\u003ePreview features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-async\u003c/code\u003e] Implement \u003ccode\u003eblocking-path-method\u003c/code\u003e (\u003ccode\u003eASYNC240\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20264\"\u003e#20264\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bugbear\u003c/code\u003e] Implement \u003ccode\u003emap-without-explicit-strict\u003c/code\u003e (\u003ccode\u003eB912\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20429\"\u003e#20429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bultins\u003c/code\u003e] Detect class-scope builtin shadowing in decorators, default args, and attribute initializers (\u003ccode\u003eA003\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20178\"\u003e#20178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Implement \u003ccode\u003elogging-eager-conversion\u003c/code\u003e (\u003ccode\u003eRUF065\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19942\"\u003e#19942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude \u003ccode\u003e.pyw\u003c/code\u003e files by default when linting and formatting (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20458\"\u003e#20458\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeduplicate input paths (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20105\"\u003e#20105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-comprehensions\u003c/code\u003e] Preserve trailing commas for single-element lists (\u003ccode\u003eC409\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/19571\"\u003e#19571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-pyi\u003c/code\u003e] Avoid syntax error from conflict with \u003ccode\u003ePIE790\u003c/code\u003e (\u003ccode\u003ePYI021\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20010\"\u003e#20010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-simplify\u003c/code\u003e] Correct fix for positive \u003ccode\u003emaxsplit\u003c/code\u003e without separator (\u003ccode\u003eSIM905\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20056\"\u003e#20056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003epyupgrade\u003c/code\u003e] Fix \u003ccode\u003eUP008\u003c/code\u003e not to apply when \u003ccode\u003e__class__\u003c/code\u003e is a local variable (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20497\"\u003e#20497\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Fix \u003ccode\u003eB004\u003c/code\u003e to skip invalid \u003ccode\u003ehasattr\u003c/code\u003e/\u003ccode\u003egetattr\u003c/code\u003e calls (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20486\"\u003e#20486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eruff\u003c/code\u003e] Replace \u003ccode\u003e-nan\u003c/code\u003e with \u003ccode\u003enan\u003c/code\u003e when using the value to construct a \u003ccode\u003eDecimal\u003c/code\u003e (\u003ccode\u003eFURB164\u003c/code\u003e ) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20391\"\u003e#20391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd 'Finding ways to help' to CONTRIBUTING.md (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20567\"\u003e#20567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate import path to \u003ccode\u003eruff-wasm-web\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20539\"\u003e#20539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eflake8-bandit\u003c/code\u003e] Clarify the supported hashing functions (\u003ccode\u003eS324\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20534\"\u003e#20534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003ccode\u003eplayground\u003c/code\u003e] Allow hover quick fixes to appear for overlapping diagnostics (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20527\"\u003e#20527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[\u003ccode\u003eplayground\u003c/code\u003e] Fix non‑BMP code point handling in quick fixes and markers (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20526\"\u003e#20526\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi\"\u003e\u003ccode\u003e@​BurntSushi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mtshiba\"\u003e\u003ccode\u003e@​mtshiba\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/second-ed\"\u003e\u003ccode\u003e@​second-ed\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/danparizher\"\u003e\u003ccode\u003e@​danparizher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ShikChen\"\u003e\u003ccode\u003e@​ShikChen\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PieterCK\"\u003e\u003ccode\u003e@​PieterCK\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GDYendell\"\u003e\u003ccode\u003e@​GDYendell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RazerM\"\u003e\u003ccode\u003e@​RazerM\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TaKO8Ki\"\u003e\u003ccode\u003e@​TaKO8Ki\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/amyreese\"\u003e\u003ccode\u003e@​amyreese\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ntBre\"\u003e\u003ccode\u003e@​ntbre\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.13.1\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/astral-sh/ruff/commit/b0bdf0334e38417f8617057cd0392a4b53954120\"\u003e\u003ccode\u003eb0bdf03\u003c/code\u003e\u003c/a\u003e Bump 0.13.2 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20576\"\u003e#20576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/7331d393c555ece88aa69f685562163790ddf611\"\u003e\u003ccode\u003e7331d39\u003c/code\u003e\u003c/a\u003e Update rooster to 0.1.0 (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20575\"\u003e#20575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/529e5fa6c24ea68501adb18245eab27c701598d2\"\u003e\u003ccode\u003e529e5fa\u003c/code\u003e\u003c/a\u003e [ty] Ecosystem analyzer: timing report (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20571\"\u003e#20571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/efbb80f7475c63b62981444d5c429109ff12ad32\"\u003e\u003ccode\u003eefbb80f\u003c/code\u003e\u003c/a\u003e [ty] Remove hack in protocol satisfiability check (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20568\"\u003e#20568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/9f3cffc65cb834661e17263245761a66f9474af0\"\u003e\u003ccode\u003e9f3cffc\u003c/code\u003e\u003c/a\u003e Add 'Finding ways to help' to CONTRIBUTING.md (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20567\"\u003e#20567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/21be94ac33f445d8a681babec6c56ca3d1b67156\"\u003e\u003ccode\u003e21be94a\u003c/code\u003e\u003c/a\u003e [ty] Explicitly test assignability/subtyping between unions of nominal types ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/b7d5dc98c193cc5cab00d557b6a392d35137d990\"\u003e\u003ccode\u003eb7d5dc9\u003c/code\u003e\u003c/a\u003e [ty] Add tests for interactions of \u003ccode\u003e@classmethod\u003c/code\u003e, \u003ccode\u003e@staticmethod\u003c/code\u003e, and proto...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/e1bb74b25a0f730a5baff263d753ffe03cf857b1\"\u003e\u003ccode\u003ee1bb74b\u003c/code\u003e\u003c/a\u003e [ty] Match variadic argument to variadic parameter (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20511\"\u003e#20511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/edeb45804ef9dbe348d393f3ab77288062a3c77e\"\u003e\u003ccode\u003eedeb458\u003c/code\u003e\u003c/a\u003e [ty] fallback to resolve_real_module in file_to_module (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20461\"\u003e#20461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astral-sh/ruff/commit/bea92c822980b1575d58542dffa2c960393d7603\"\u003e\u003ccode\u003ebea92c8\u003c/code\u003e\u003c/a\u003e [ty] More precise type inference for dictionary literals (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/issues/20523\"\u003e#20523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/astral-sh/ruff/compare/0.12.10...0.13.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` from 8.4.1 to 8.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13577\"\u003e#13577\u003c/a\u003e: Clarify that \u003ccode\u003epytest_generate_tests\u003c/code\u003e is discovered in test modules/classes; other hooks must be in \u003ccode\u003econftest.py\u003c/code\u003e or plugins.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13480\"\u003e#13480\u003c/a\u003e: Self-testing: fixed a few test failures when run with \u003ccode\u003e-Wdefault\u003c/code\u003e or a similar override.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13547\"\u003e#13547\u003c/a\u003e: Self-testing: corrected expected message for \u003ccode\u003etest_doctest_unexpected_exception\u003c/code\u003e in Python \u003ccode\u003e3.14\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13684\"\u003e#13684\u003c/a\u003e: Make pytest's own testsuite insensitive to the presence of the \u003ccode\u003eCI\u003c/code\u003e environment variable -- by \u003ccode\u003eogrisel\u003c/code\u003e{.interpreted-text role=\u0026quot;user\u0026quot;}.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bfae4224fd554d3d7f2c277a4cc092b6ec6af3ae\"\u003e\u003ccode\u003ebfae422\u003c/code\u003e\u003c/a\u003e Prepare release version 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/89905381a163be30ae87d62e5f750e902d750c5f\"\u003e\u003ccode\u003e8990538\u003c/code\u003e\u003c/a\u003e Fix passenv CI in tox ini and make tests insensitive to the presence of the C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ca676bfe005aebcb12f4146d1b0f1d2772e2cd5d\"\u003e\u003ccode\u003eca676bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13687\"\u003e#13687\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/e63f6e51c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/975a60a63ce385a44655596e254c1899feaa53e4\"\u003e\u003ccode\u003e975a60a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13686\"\u003e#13686\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/12bde8af6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7723ce84b87ab08f86ddafcb342acc28ba5ec99d\"\u003e\u003ccode\u003e7723ce8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13683\"\u003e#13683\u003c/a\u003e from even-even/fix_Exeption_to_Exception_in_errorMe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7f05680d1301e0969b30bcb3c4b27433c9ee2b7\"\u003e\u003ccode\u003eb7f0568\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13685\"\u003e#13685\u003c/a\u003e from CoretexShadow/fix/docs-pytest-generate-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2c94c4a6948ba53440818389298157fa5d5f94cd\"\u003e\u003ccode\u003e2c94c4a\u003c/code\u003e\u003c/a\u003e add missing colon (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13640\"\u003e#13640\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13641\"\u003e#13641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c3d7684bc01c8c48d05145a30c5211ca8656c68c\"\u003e\u003ccode\u003ec3d7684\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13606\"\u003e#13606\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/5f9938563...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/dc6e3be2ddc75a149b6d102d9b7c82ee47a00cfa\"\u003e\u003ccode\u003edc6e3be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13605\"\u003e#13605\u003c/a\u003e from The-Compiler/training-update-2025-07\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f87289c36c8dbe7740e3020f5546b6f8b0861ff0\"\u003e\u003ccode\u003ef87289c\u003c/code\u003e\u003c/a\u003e Fix crash with \u003ccode\u003etimes\u003c/code\u003e output style and skipped module (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13573\"\u003e#13573\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13579\"\u003e#13579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.1...8.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sphinx-click` from 6.0.0 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/58473a8dac250898e1dc7dfac5622dc938264bb4\"\u003e\u003ccode\u003e58473a8\u003c/code\u003e\u003c/a\u003e Migrate to trusted publishing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/0d4f938d799a669658fc2b0ef3ede100d9abf5ab\"\u003e\u003ccode\u003e0d4f938\u003c/code\u003e\u003c/a\u003e Drop support for Python \u0026lt; 3.10, add Python 3.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/073353abfc0f6a72ca3fc33b7272072ec422cccb\"\u003e\u003ccode\u003e073353a\u003c/code\u003e\u003c/a\u003e Migrate setuptools, mypy configuration to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/83a5a17736958a9e4119ecb9ad271e3f1bf223fc\"\u003e\u003ccode\u003e83a5a17\u003c/code\u003e\u003c/a\u003e Prefer Group over MultiCommand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/d9705e8a369211d60db0279fafb58f7f7fa079a7\"\u003e\u003ccode\u003ed9705e8\u003c/code\u003e\u003c/a\u003e Bump actions versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/a94049aed188e1d8ea58c5bb747218634b685625\"\u003e\u003ccode\u003ea94049a\u003c/code\u003e\u003c/a\u003e pre-commit: Bump versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/dc11fe14f6fa859773276f7492e326e49e47e0ba\"\u003e\u003ccode\u003edc11fe1\u003c/code\u003e\u003c/a\u003e pre-commit: Migrate to ruff\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/click-contrib/sphinx-click/commit/c999be2eb4d2e7dd1bbee314be6d03c499a62cbf\"\u003e\u003ccode\u003ec999be2\u003c/code\u003e\u003c/a\u003e pre-commit: Bump versions\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/click-contrib/sphinx-click/compare/6.0.0...6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `xdoctest` from 1.2.0 to 1.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Erotemic/xdoctest/releases\"\u003exdoctest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.3.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew \u003ccode\u003eASYNC\u003c/code\u003e basic directive to hold the asyncio event loop in any section of\ncode. Useful for multitasking tests.\u003c/li\u003e\n\u003cli\u003eSupport for 3.14\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003e16806_WORKAROUND\u003c/code\u003e as it is not longer needed for Python 3.8+\u003c/li\u003e\n\u003cli\u003eRemoved deprecated --xdoc-force-dynamic and --allow-xdoc-dynamic flags\u003c/li\u003e\n\u003cli\u003eImproved speed (~6x) of doctest collection when running in pytest\u003c/li\u003e\n\u003cli\u003eUses pytest plugin system to disable stdlib doctest instead of monkey patching.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed incorrect return type in docstrings\u003c/li\u003e\n\u003cli\u003eThe doctest parser no longer expand tabs to spaces\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eStart branch for dev/1.2.1\nby \u003ca href=\"https://github.com/Erotemic\"\u003e\u003ccode\u003e@​Erotemic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/162\"\u003eErotemic/xdoctest#162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDev Branch: 1.2.1  by \u003ca href=\"https://github.com/Erotemic\"\u003e\u003ccode\u003e@​Erotemic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/163\"\u003eErotemic/xdoctest#163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable 313 in CI by \u003ca href=\"https://github.com/Erotemic\"\u003e\u003ccode\u003e@​Erotemic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/165\"\u003eErotemic/xdoctest#165\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDev/1.2.1 by \u003ca href=\"https://github.com/Erotemic\"\u003e\u003ccode\u003e@​Erotemic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/166\"\u003eErotemic/xdoctest#166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estatic_parse update by \u003ca href=\"https://github.com/lczyk\"\u003e\u003ccode\u003e@​lczyk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/168\"\u003eErotemic/xdoctest#168\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDev/1.2.1 by \u003ca href=\"https://github.com/Erotemic\"\u003e\u003ccode\u003e@​Erotemic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/170\"\u003eErotemic/xdoctest#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: dont expand tabs to spaces by \u003ca href=\"https://github.com/Erotemic\"\u003e\u003ccode\u003e@​Erotemic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/172\"\u003eErotemic/xdoctest#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable \u003ccode\u003e_pytest.doctest\u003c/code\u003e via the plugin system by \u003ca href=\"https://github.com/TTsangSC\"\u003e\u003ccode\u003e@​TTsangSC\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/174\"\u003eErotemic/xdoctest#174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove async support with a new directive by \u003ca href=\"https://github.com/x42005e1f\"\u003e\u003ccode\u003e@​x42005e1f\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/176\"\u003eErotemic/xdoctest#176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDev/1.3.0 by \u003ca href=\"https://github.com/Erotemic\"\u003e\u003ccode\u003e@​Erotemic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/177\"\u003eErotemic/xdoctest#177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003easyncio.Runner\u003c/code\u003e on Python\u0026gt;=3.11 by \u003ca href=\"https://github.com/x42005e1f\"\u003e\u003ccode\u003e@​x42005e1f\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/178\"\u003eErotemic/xdoctest#178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate documentation according to the latest changes by \u003ca href=\"https://github.com/x42005e1f\"\u003e\u003ccode\u003e@​x42005e1f\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/179\"\u003eErotemic/xdoctest#179\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/lczyk\"\u003e\u003ccode\u003e@​lczyk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/168\"\u003eErotemic/xdoctest#168\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TTsangSC\"\u003e\u003ccode\u003e@​TTsangSC\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/174\"\u003eErotemic/xdoctest#174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/x42005e1f\"\u003e\u003ccode\u003e@​x42005e1f\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/pull/176\"\u003eErotemic/xdoctest#176\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Erotemic/xdoctest/compare/v1.2.0...refs/heads/release\"\u003ehttps://github.com/Erotemic/xdoctest/compare/v1.2.0...refs/heads/release\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/Erotemic/xdoctest/blob/main/CHANGELOG.md\"\u003exdoctest's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.3.0 - Unreleased\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew \u003ccode\u003eASYNC\u003c/code\u003e basic directive to hold the asyncio event loop in any section of\ncode. Useful for multitasking tests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved \u003ccode\u003e16806_WORKAROUND\u003c/code\u003e as it is not longer needed for Python 3.8+\u003c/li\u003e\n\u003cli\u003eRemoved deprecated --xdoc-force-dynamic and --allow-xdoc-dynamic flags\u003c/li\u003e\n\u003cli\u003eImproved speed (~6x) of doctest collection when running in pytest\u003c/li\u003e\n\u003cli\u003eUses pytest plugin system to disable stdlib doctest instead of monkey patching.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed incorrect return type in docstrings\u003c/li\u003e\n\u003cli\u003eThe doctest parser no longer expand tabs to spaces\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/fac830885b9e9a1ca26a374d63036a9f25cc2066\"\u003e\u003ccode\u003efac8308\u003c/code\u003e\u003c/a\u003e Update documentation according to the latest changes (\u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/issues/179\"\u003e#179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/f19a808717a4f3c9ebb53f5f2102b6f46fed52e6\"\u003e\u003ccode\u003ef19a808\u003c/code\u003e\u003c/a\u003e Use \u003ccode\u003easyncio.Runner\u003c/code\u003e on Python\u0026gt;=3.11 (\u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/issues/178\"\u003e#178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/2646c4bb2c8d4880cde4503c5b46b784fc9e01de\"\u003e\u003ccode\u003e2646c4b\u003c/code\u003e\u003c/a\u003e Dev/1.3.0 (\u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/issues/177\"\u003e#177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/9f633b1aae52bc1c0827a140c01dffc586694bc1\"\u003e\u003ccode\u003e9f633b1\u003c/code\u003e\u003c/a\u003e Improve async support with a new directive (\u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/issues/176\"\u003e#176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/e029e414ba6fe85fbee9298e4721dc0590fc342d\"\u003e\u003ccode\u003ee029e41\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/Erotemic/xdoctest/issues/174\"\u003e#174\u003c/a\u003e from TTsangSC/reversibly-disable-doctest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/b1435256a1475ddccb2184da9c564a20bccb6776\"\u003e\u003ccode\u003eb143525\u003c/code\u003e\u003c/a\u003e Add changelog note\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/be66ffac0419bdcae54e703042ef67304af2b744\"\u003e\u003ccode\u003ebe66ffa\u003c/code\u003e\u003c/a\u003e Remove unused imports\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/d3dd93a8e56e55e62ec4617d02acce3e20f5be67\"\u003e\u003ccode\u003ed3dd93a\u003c/code\u003e\u003c/a\u003e Backward compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/a6f4f4d3db890d2827ec2252867014ced6150b64\"\u003e\u003ccode\u003ea6f4f4d\u003c/code\u003e\u003c/a\u003e Fixed corresponding tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Erotemic/xdoctest/commit/b018ce70917616681376e5f2bfa5f362cf5820b5\"\u003e\u003ccode\u003eb018ce7\u003c/code\u003e\u003c/a\u003e Fixes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Erotemic/xdoctest/compare/v1.2.0...v1.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `anyio` from 4.10.0 to 4.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/anyio/releases\"\u003eanyio's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for cancellation reasons (the \u003ccode\u003ereason\u003c/code\u003e parameter to \u003ccode\u003eCancelScope.cancel()\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBumped the minimum version of Trio to v0.31.0\u003c/li\u003e\n\u003cli\u003eAdded the ability to enter the event loop from foreign (non-worker) threads by passing the return value of \u003ccode\u003eanyio.lowlevel.current_token()\u003c/code\u003e to \u003ccode\u003eanyio.from_thread.run()\u003c/code\u003e and \u003ccode\u003eanyio.from_thread.run_sync()\u003c/code\u003e as the \u003ccode\u003etoken\u003c/code\u003e keyword argument (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/256\"\u003e#256\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded pytest option (\u003ccode\u003eanyio_mode = \u0026quot;auto\u0026quot;\u003c/code\u003e) to make the pytest plugin automatically handle all async tests (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/971\"\u003e#971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded the \u003ccode\u003eanyio.Condition.wait_for()\u003c/code\u003e method for feature parity with asyncio (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged the default type argument of \u003ccode\u003eanyio.abc.TaskStatus\u003c/code\u003e from \u003ccode\u003eAny\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/pull/964\"\u003e#964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed TCP listener behavior to guarantee the same ephemeral port is used for all socket listeners when \u003ccode\u003elocal_port=0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/857\"\u003e#857\u003c/a\u003e; PR by \u003ca href=\"https://github.com/11kkw\"\u003e\u003ccode\u003e@​11kkw\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/agronholm\"\u003e\u003ccode\u003e@​agronholm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed inconsistency between Trio and asyncio where a TCP stream that previously raised a \u003ccode\u003eBrokenResourceError\u003c/code\u003e on \u003ccode\u003esend()\u003c/code\u003e would still raise \u003ccode\u003eBrokenResourceError\u003c/code\u003e after the stream was closed on asyncio, but \u003ccode\u003eClosedResourceError\u003c/code\u003e on Trio. They now both raise a \u003ccode\u003eClosedResourceError\u003c/code\u003e in this scenario. (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/671\"\u003e#671\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst\"\u003eanyio's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion history\u003c/h1\u003e\n\u003cp\u003eThis library adheres to \u003ccode\u003eSemantic Versioning 2.0 \u0026lt;http://semver.org/\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e4.11.0\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for cancellation reasons (the \u003ccode\u003ereason\u003c/code\u003e parameter to\n\u003ccode\u003eCancelScope.cancel()\u003c/code\u003e)\n(\u003ccode\u003e[#975](https://github.com/agronholm/anyio/issues/975) \u0026lt;https://github.com/agronholm/anyio/pull/975\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eBumped the minimum version of Trio to v0.31.0\u003c/li\u003e\n\u003cli\u003eAdded the ability to enter the event loop from foreign (non-worker) threads by\npassing the return value of \u003ccode\u003eanyio.lowlevel.current_token()\u003c/code\u003e to\n\u003ccode\u003eanyio.from_thread.run()\u003c/code\u003e and \u003ccode\u003eanyio.from_thread.run_sync()\u003c/code\u003e as the \u003ccode\u003etoken\u003c/code\u003e\nkeyword argument (\u003ccode\u003e[#256](https://github.com/agronholm/anyio/issues/256) \u0026lt;https://github.com/agronholm/anyio/issues/256\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdded pytest option (\u003ccode\u003eanyio_mode = \u0026quot;auto\u0026quot;\u003c/code\u003e) to make the pytest plugin automatically\nhandle all async tests\n(\u003ccode\u003e[#971](https://github.com/agronholm/anyio/issues/971) \u0026lt;https://github.com/agronholm/anyio/pull/971\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eAdded the \u003ccode\u003eanyio.Condition.wait_for()\u003c/code\u003e method for feature parity with asyncio\n(\u003ccode\u003e[#974](https://github.com/agronholm/anyio/issues/974) \u0026lt;https://github.com/agronholm/anyio/pull/974\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eChanged the default type argument of \u003ccode\u003eanyio.abc.TaskStatus\u003c/code\u003e from \u003ccode\u003eAny\u003c/code\u003e to \u003ccode\u003eNone\u003c/code\u003e\n(\u003ccode\u003e[#964](https://github.com/agronholm/anyio/issues/964) \u0026lt;https://github.com/agronholm/anyio/pull/964\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eFixed TCP listener behavior to guarantee the same ephemeral port is used for all\nsocket listeners when \u003ccode\u003elocal_port=0\u003c/code\u003e\n(\u003ccode\u003e[#857](https://github.com/agronholm/anyio/issues/857) \u0026lt;https://github.com/agronholm/anyio/issues/857\u0026gt;\u003c/code\u003e_; PR by \u003ca href=\"https://github.com/11kkw\"\u003e\u003ccode\u003e@​11kkw\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/agronholm\"\u003e\u003ccode\u003e@​agronholm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed inconsistency between Trio and asyncio where a TCP stream that previously\nraised a \u003ccode\u003eBrokenResourceError\u003c/code\u003e on \u003ccode\u003esend()\u003c/code\u003e would still raise\n\u003ccode\u003eBrokenResourceError\u003c/code\u003e after the stream was closed on asyncio, but\n\u003ccode\u003eClosedResourceError\u003c/code\u003e on Trio. They now both raise a \u003ccode\u003eClosedResourceError\u003c/code\u003e in this\nscenario. (\u003ccode\u003e[#671](https://github.com/agronholm/anyio/issues/671) \u0026lt;https://github.com/agronholm/anyio/issues/671\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e4.10.0\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded the \u003ccode\u003efeed_data()\u003c/code\u003e method to the \u003ccode\u003eBufferedByteReceiveStream\u003c/code\u003e class, allowing\nusers to inject data directly into the buffer\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded various class methods to wrap existing sockets as listeners or socket streams:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSocketListener.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSocketStream.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eUNIXSocketStream.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eUDPSocket.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnectedUDPSocket.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eUNIXDatagramSocket.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnectedUNIXDatagramSocket.from_socket()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded a hierarchy of connectable stream classes for transparently connecting to\nvarious remote or local endpoints for exchanging bytes or objects\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded context manager mix-in classes (\u003ccode\u003eanyio.ContextManagerMixin\u003c/code\u003e and\n\u003ccode\u003eanyio.AsyncContextManagerMixin\u003c/code\u003e) to help write classes that embed other context\nmanagers, particularly cancel scopes or task groups\n(\u003ccode\u003e[#905](https://github.com/agronholm/anyio/issues/905) \u0026lt;https://github.com/agronholm/anyio/pull/905\u0026gt;\u003c/code\u003e_; PR by \u003ca href=\"https://github.com/agronholm\"\u003e\u003ccode\u003e@​agronholm\u003c/code\u003e\u003c/a\u003e and\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/08737af202f6610cdb8ba53fecaefd9c03269637\"\u003e\u003ccode\u003e08737af\u003c/code\u003e\u003c/a\u003e Bumped up the version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/8bb9fe04a1c0a4b6615c843d4a88bba38a386059\"\u003e\u003ccode\u003e8bb9fe0\u003c/code\u003e\u003c/a\u003e Fixed the inconsistent exception on sending to a closed TCP stream (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/980\"\u003e#980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/963709358a05ced66986e928b593b4bd82422981\"\u003e\u003ccode\u003e9637093\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/981\"\u003e#981\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/f1bc6ee95a75007681ef9cb4eec0369838b390e9\"\u003e\u003ccode\u003ef1bc6ee\u003c/code\u003e\u003c/a\u003e Fixed changelog entry formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/0b58964a26c68ca427b711bbe8536f61ed900133\"\u003e\u003ccode\u003e0b58964\u003c/code\u003e\u003c/a\u003e Mentioned the sub-interpreter support in the README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/1ed112c65628d3cce312e7b6875b9f914d174a71\"\u003e\u003ccode\u003e1ed112c\u003c/code\u003e\u003c/a\u003e Ensure same port is used for IPv4/IPv6 when creating TCP listener with local_...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/aceeee09868642311a96626924f2f09c088a26c0\"\u003e\u003ccode\u003eaceeee0\u003c/code\u003e\u003c/a\u003e Re-enabled coverage reporting on macOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/6b890dc869f54b6237caff52a74e86382c076ad2\"\u003e\u003ccode\u003e6b890dc\u003c/code\u003e\u003c/a\u003e Reworded a changelog entry and added PR links to others\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/944257d2d59e8057dd00cd5cc96d8f73028031dd\"\u003e\u003ccode\u003e944257d\u003c/code\u003e\u003c/a\u003e Updated pre-commit modules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/agronholm/anyio/commit/087975f44599471a84bea2077731143a346c276a\"\u003e\u003ccode\u003e087975f\u003c/code\u003e\u003c/a\u003e Fixed a documentation style (\u003ca href=\"https://redirect.github.com/agronholm/anyio/issues/976\"\u003e#976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/agronholm/anyio/compare/4.10.0...4.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `beautifulsoup4` from 4.13.4 to 4.14.2\n\nUpdates `cffi` from 1.17.1 to 2.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/python-cffi/cffi/releases\"\u003ecffi's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 3.14 support.\u003c/li\u003e\n\u003cli\u003eAdd CPython free-threaded support (3.14t+ only) - huge thanks to the folks at Quansight Labs for all the work to get this one sorted!\u003c/li\u003e\n\u003cli\u003eDrop Python \u0026lt;= 3.8 support.\u003c/li\u003e\n\u003cli\u003eFix order dependency affecting nested type size calculation (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/148\"\u003e#148\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0\"\u003ehttps://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.0.0b1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Python 3.14 support.\u003c/li\u003e\n\u003cli\u003eAdd CPython free-threaded support (3.14t+ only).\u003c/li\u003e\n\u003cli\u003eDrop Python \u0026lt;= 3.8 support.\u003c/li\u003e\n\u003cli\u003eFix order dependency affecting nested type size calculation (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/148\"\u003e#148\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0b1\"\u003ehttps://github.com/python-cffi/cffi/compare/v1.17.1...v2.0.0b1\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/python-cffi/cffi/commit/6366c01d84e9a78e7e85f12ebe9760ba5d19b6d3\"\u003e\u003ccode\u003e6366c01\u003c/code\u003e\u003c/a\u003e release 2.0.0 (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/196\"\u003e#196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/95c847663aec401e4003927a274e4de9b8595f4f\"\u003e\u003ccode\u003e95c8476\u003c/code\u003e\u003c/a\u003e 2.0.0 post beta backports (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/195\"\u003e#195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/195cbda66b6be9297ef6d584644e50cfdcca4e8a\"\u003e\u003ccode\u003e195cbda\u003c/code\u003e\u003c/a\u003e Release 2.0.0b1 (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/183\"\u003e#183\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/b4bbe7940d3f76027534db1aecbae9b61c35221a\"\u003e\u003ccode\u003eb4bbe79\u003c/code\u003e\u003c/a\u003e fix version test to support beta\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/7ed073de66e713cf791b6fdfa23685c81fdfd6ad\"\u003e\u003ccode\u003e7ed073d\u003c/code\u003e\u003c/a\u003e Add support for the free-threaded build (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/178\"\u003e#178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/67a170dc7972dc9361743690b38da3d963b200ef\"\u003e\u003ccode\u003e67a170d\u003c/code\u003e\u003c/a\u003e Change the license from MIT to MIT-no-attribution, which is the same without ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/92645ec9329feb03e3fa86240b40fe0fc37469d1\"\u003e\u003ccode\u003e92645ec\u003c/code\u003e\u003c/a\u003e Add Python 3.14 support/testing (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/177\"\u003e#177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/2b81170583a898478a6996c9705d8c38ab7f73a1\"\u003e\u003ccode\u003e2b81170\u003c/code\u003e\u003c/a\u003e doc: update test commands in Section Testing/development tips (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/158\"\u003e#158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/25172b84cf51cf58241f074ccd1efd9c7648cb43\"\u003e\u003ccode\u003e25172b8\u003c/code\u003e\u003c/a\u003e doc: update year (\u003ca href=\"https://redirect.github.com/python-cffi/cffi/issues/153\"\u003e#153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/python-cffi/cffi/commit/b57a92c03eb2078a99c900519a37d18b4d52324f\"\u003e\u003ccode\u003eb57a92c\u003c/code\u003e\u003c/a\u003e issue 147: for...\n\n_Description has been truncated_","html_url":"https://github.com/statisticsnorway/ssb-dash-framework/pull/188","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/statisticsnorway%2Fssb-dash-framework/issues/188","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/188/packages"}},{"old_version":"2025.5.1","new_version":"2025.9.0","update_type":"minor","path":null,"pr_created_at":"2025-09-22T13:17:22.000Z","version_change":"2025.5.1 → 2025.9.0","issue":{"uuid":"2849494137","node_id":"PR_kwDOMVNcD86p19R5","number":211,"state":"closed","title":"Bump the all-dependencies group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-10-06T13:19:56.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-22T13:17:22.000Z","updated_at":"2025-10-06T13:19:56.000Z","time_to_close":1209754,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all-dependencies","update_count":13,"packages":[{"name":"cvss","old_version":"3.4","new_version":"3.6","repository_url":"https://github.com/RedHatProductSecurity/cvss"},{"name":"gcsfs","old_version":"2025.5.1","new_version":"2025.9.0","repository_url":"https://github.com/fsspec/gcsfs"},{"name":"fsspec","old_version":"2025.5.1","new_version":"2025.9.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"robotframework","old_version":"7.2.2","new_version":"7.3.2","repository_url":"https://github.com/robotframework/robotframework"},{"name":"sqlfluff","old_version":"3.4.0","new_version":"3.4.2","repository_url":"https://github.com/sqlfluff/sqlfluff"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [pandas](https://github.com/pandas-dev/pandas), [requests](https://github.com/psf/requests), [cvss](https://github.com/RedHatProductSecurity/cvss), [gitpython](https://github.com/gitpython-developers/GitPython), [fastapi[standard]](https://github.com/fastapi/fastapi), [gcsfs](https://github.com/fsspec/gcsfs), [fsspec](https://github.com/fsspec/filesystem_spec), [black](https://github.com/psf/black), [flake8](https://github.com/pycqa/flake8), [pytest](https://github.com/pytest-dev/pytest), [robotframework](https://github.com/robotframework/robotframework), [sqlfluff](https://github.com/sqlfluff/sqlfluff) and [mypy](https://github.com/python/mypy) to permit the latest version.\nUpdates `pandas` to 2.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pandas-dev/pandas/releases\"\u003epandas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ePandas 2.3.2\u003c/h2\u003e\n\u003cp\u003eWe are pleased to announce the release of pandas 2.3.2.\nThis release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version.\u003c/p\u003e\n\u003cp\u003eSee the \u003ca href=\"https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.2.html\"\u003efull whatsnew\u003c/a\u003e for a list of all the changes.\nPandas 2.3.2 supports Python 3.9 and higher.\u003c/p\u003e\n\u003cp\u003eThe release will be available on the conda-forge channel:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003econda install pandas --channel conda-forge\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eOr via PyPI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython3 -m pip install --upgrade pandas\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003ePlease report any issues with the release on the \u003ca href=\"https://github.com/pandas-dev/pandas/issues\"\u003epandas issue tracker\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThanks to all the contributors who made this release possible.\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/pandas-dev/pandas/commit/4665c10899bc413b639194f6fb8665a5c70f7db5\"\u003e\u003ccode\u003e4665c10\u003c/code\u003e\u003c/a\u003e RLS: 2.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/633c68b91808441eba7d73b630a82b713ba19da8\"\u003e\u003ccode\u003e633c68b\u003c/code\u003e\u003c/a\u003e DOC: fix syntax in whatsnew file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/456ad4702cb017aab36e2d09a4029b1b085198f5\"\u003e\u003ccode\u003e456ad47\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62152\"\u003e#62152\u003c/a\u003e on branch 2.3.x (DOC: prepare 2.3.2 whatsnew notes for rel...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/6cae6444444ed7943ceffbd5990cd8249dd5b47c\"\u003e\u003ccode\u003e6cae644\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] DOC: move and reword whatsnew note for replace fix (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/57865\"\u003eGH-57865\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/a91c50a58c372cddf104fd60241c7284bbf8fc80\"\u003e\u003ccode\u003ea91c50a\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62147\"\u003e#62147\u003c/a\u003e on branch 2.3.x (DOC: correct and rewrite string migration...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/f7a2cfdf2ed08016167ae6c5e577c54949a849b2\"\u003e\u003ccode\u003ef7a2cfd\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG/DEPR: logical operation with bool and string (\u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/61995\"\u003e#61995\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/7981a43db4339826a3ce5020e9b1b931e604e5bd\"\u003e\u003ccode\u003e7981a43\u003c/code\u003e\u003c/a\u003e Backport PR \u003ca href=\"https://redirect.github.com/pandas-dev/pandas/issues/62124\"\u003e#62124\u003c/a\u003e on branch 2.3.x (CI/BLD: don't use strict xfail for '%m.%Y...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/fafbcbd03d1721830f4df8255abdab341db2a583\"\u003e\u003ccode\u003efafbcbd\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG(CoW): also raise for chained assignment for .at / .iat (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/3ac64a714886d917ca24ba637a85c4aaf563fc1b\"\u003e\u003ccode\u003e3ac64a7\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: Fix Series.str.contains with compiled regex on Arrow st...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pandas-dev/pandas/commit/1f2dc4fd8a2503773b6f90cb5e8cc5c3172c3c11\"\u003e\u003ccode\u003e1f2dc4f\u003c/code\u003e\u003c/a\u003e [backport 2.3.x] BUG: fix Series.str.fullmatch() and Series.str.match() with ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pandas-dev/pandas/compare/v2.3.0...v2.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `requests` to 2.32.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/releases\"\u003erequests's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.32.5\u003c/h2\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/requests/blob/main/HISTORY.md\"\u003erequests's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.32.5 (2025-08-18)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe SSLContext caching feature originally introduced in 2.32.0 has created\na new class of issues in Requests that have had negative impact across a number\nof use cases. The Requests team has decided to revert this feature as long term\nmaintenance of it is proving to be unsustainable in its current iteration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.8 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.4 (2025-06-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eSecurity\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eCVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted\nenvironment will retrieve credentials for the wrong hostname/machine from a\nnetrc file.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eImprovements\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNumerous documentation improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pypy 3.11 for Linux and macOS.\u003c/li\u003e\n\u003cli\u003eDropped support for pypy 3.9 following its end of support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.3 (2024-05-29)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBugfixes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed bug breaking the ability to specify custom SSLContexts in sub-classes of\nHTTPAdapter. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6716\"\u003e#6716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue where Requests started failing to run on Python versions compiled\nwithout the \u003ccode\u003essl\u003c/code\u003e module. (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6724\"\u003e#6724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.32.2 (2024-05-21)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eDeprecations\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eTo provide a more stable migration for custom HTTPAdapters impacted\nby the CVE changes in 2.32.0, we've renamed \u003ccode\u003e_get_connection\u003c/code\u003e to\na new public API, \u003ccode\u003eget_connection_with_tls_context\u003c/code\u003e. Existing custom\nHTTPAdapters will need to migrate their code to use this new API.\n\u003ccode\u003eget_connection\u003c/code\u003e is considered deprecated in all versions of Requests\u0026gt;=2.32.0.\u003c/p\u003e\n\u003cp\u003eA minimal (2-line) example has been provided in the linked PR to ease\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b25c87d7cb8d6a18a37fa12442b5f883f9e41741\"\u003e\u003ccode\u003eb25c87d\u003c/code\u003e\u003c/a\u003e v2.32.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/131e506079d97606e4214cc4d87b780ac478de7a\"\u003e\u003ccode\u003e131e506\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/7010\"\u003e#7010\u003c/a\u003e from psf/dependabot/github_actions/actions/checkout-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/b336cb2bc616a63a93c6470c558fc1f576b77f90\"\u003e\u003ccode\u003eb336cb2\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 4.2.0 to 5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/46e939b5525d9c72b677340985582b04b128478a\"\u003e\u003ccode\u003e46e939b\u003c/code\u003e\u003c/a\u003e Update publish workflow to use \u003ccode\u003eartifact-id\u003c/code\u003e instead of \u003ccode\u003ename\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/4b9c546aa3f35fca6ca24945376fe7462bb007c4\"\u003e\u003ccode\u003e4b9c546\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/psf/requests/issues/6999\"\u003e#6999\u003c/a\u003e from psf/dependabot/github_actions/step-security/har...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/7618dbef01d333f23ba4b9c4d97397b06dd89cb6\"\u003e\u003ccode\u003e7618dbe\u003c/code\u003e\u003c/a\u003e Bump step-security/harden-runner from 2.12.0 to 2.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/2edca11103c1c27dd8b572dab544b7f48cf3b446\"\u003e\u003ccode\u003e2edca11\u003c/code\u003e\u003c/a\u003e Add support for Python 3.14 and drop support for Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6993\"\u003e#6993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/fec96cd5976ad763e45bac9a033d62cca1877a00\"\u003e\u003ccode\u003efec96cd\u003c/code\u003e\u003c/a\u003e Update Makefile rules (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6996\"\u003e#6996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/d58d8aa2f45c3575268d6d5250745ef69f9cf8b7\"\u003e\u003ccode\u003ed58d8aa\u003c/code\u003e\u003c/a\u003e docs: clarify timeout parameter uses seconds in Session.request (\u003ca href=\"https://redirect.github.com/psf/requests/issues/6994\"\u003e#6994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/requests/commit/91a3eabd3dcc4d7f36dd8249e4777a90ef9b4305\"\u003e\u003ccode\u003e91a3eab\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 3.28.5 to 3.29.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/requests/compare/v2.32.3...v2.32.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cvss` from 3.4 to 3.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/RedHatProductSecurity/cvss/releases\"\u003ecvss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v3.6\u003c/h2\u003e\n\u003cp\u003eFix incorrect release in PyPI\u003c/p\u003e\n\u003ch2\u003eRelease v3.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved Python 2.7 support (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/79\"\u003e#79\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded CVSS4 support to parse_cvss_from_text (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/75\"\u003e#75\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed CVSS4 clean vector field ordering (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/72\"\u003e#72\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved documentation for broader audience (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/81\"\u003e#81\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplified interface documentation (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/73\"\u003e#73\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/RedHatProductSecurity/cvss/commit/2f149099257ae06b98cef252efc440bddafe61e5\"\u003e\u003ccode\u003e2f14909\u003c/code\u003e\u003c/a\u003e Version 3.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RedHatProductSecurity/cvss/commit/344f7327fb65b7f92b274a8e3687898d8c2b473f\"\u003e\u003ccode\u003e344f732\u003c/code\u003e\u003c/a\u003e Set version to 3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RedHatProductSecurity/cvss/commit/1232b5e455e6629eab0c8b6dd56c78e9ee88a46a\"\u003e\u003ccode\u003e1232b5e\u003c/code\u003e\u003c/a\u003e doc: Improve understanding for a broader audience (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/81\"\u003e#81\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RedHatProductSecurity/cvss/commit/14678c08c9d94df838cff3f51af89027079fdc86\"\u003e\u003ccode\u003e14678c0\u003c/code\u003e\u003c/a\u003e Fix line lengths\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RedHatProductSecurity/cvss/commit/0874b07fa21e6dc8fbef25fc786e531ae42f4dc8\"\u003e\u003ccode\u003e0874b07\u003c/code\u003e\u003c/a\u003e Remove Python 2.7 support (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/79\"\u003e#79\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RedHatProductSecurity/cvss/commit/9fc12841ca3fb6ab5ea3dc6f22a5936cd75e03fa\"\u003e\u003ccode\u003e9fc1284\u003c/code\u003e\u003c/a\u003e fix: add CVSS4 support to parse_cvss_from_text (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/75\"\u003e#75\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RedHatProductSecurity/cvss/commit/756d2dbd1ecaf79554f1f1f794132e87555cc9d9\"\u003e\u003ccode\u003e756d2db\u003c/code\u003e\u003c/a\u003e Keep use of interfaces in readme simple and CVSS version agnostic. (\u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/73\"\u003e#73\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RedHatProductSecurity/cvss/commit/5f53333e42b3743e3cafcf1705ca46e40bdd70cb\"\u003e\u003ccode\u003e5f53333\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/RedHatProductSecurity/cvss/issues/72\"\u003e#72\u003c/a\u003e from Urth/fix/clean-vector-field-order\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/RedHatProductSecurity/cvss/commit/ae6d3f8370f8569b41cafaef22b4d4eff5b8b4cc\"\u003e\u003ccode\u003eae6d3f8\u003c/code\u003e\u003c/a\u003e Fix CVSS4 clean vector field ordering\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/RedHatProductSecurity/cvss/compare/v3.4...v3.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gitpython` to 3.1.45\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gitpython-developers/GitPython/releases\"\u003egitpython's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.45\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix various version-related CI breakages by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/1987\"\u003egitpython-developers/GitPython#1987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo some CI cleanup to make reports clearer and future changes easier by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/1989\"\u003egitpython-developers/GitPython#1989\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAffirm that gitdb and smmap advisories can also be created by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/1991\"\u003egitpython-developers/GitPython#1991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix links to gitdb and smmap \u003ccode\u003eSECURITY.md\u003c/code\u003e files by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/1992\"\u003egitpython-developers/GitPython#1992\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest Python 3.13 regularly on Ubuntu and macOS on CI by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/1990\"\u003egitpython-developers/GitPython#1990\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRepo.rev_parse: Handle \u003c!-- raw HTML omitted --\u003e^{commit} correctly by \u003ca href=\"https://github.com/flichtenheld\"\u003e\u003ccode\u003e@​flichtenheld\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/1996\"\u003egitpython-developers/GitPython#1996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFuzzing: Fix Broken Fuzz Test for Git Submodule Handling by \u003ca href=\"https://github.com/DaveLak\"\u003e\u003ccode\u003e@​DaveLak\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/1997\"\u003egitpython-developers/GitPython#1997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWork around Cygwin CI failure \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/issues/2004\"\u003e#2004\u003c/a\u003e, except for \u003ccode\u003etest_installation\u003c/code\u003e by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2007\"\u003egitpython-developers/GitPython#2007\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMark \u003ccode\u003etest_installation\u003c/code\u003e xfail on Cygwin CI by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2009\"\u003egitpython-developers/GitPython#2009\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eIndexFile._to_relative_path\u003c/code\u003e - fix case where absolute path gets stripped of trailing slash by \u003ca href=\"https://github.com/kamilkozik7\"\u003e\u003ccode\u003e@​kamilkozik7\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2012\"\u003egitpython-developers/GitPython#2012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse WSL1 on CI by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2010\"\u003egitpython-developers/GitPython#2010\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest free-threaded Python (but only on Linux) by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2011\"\u003egitpython-developers/GitPython#2011\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse property decorator to support typing by \u003ca href=\"https://github.com/Andrej730\"\u003e\u003ccode\u003e@​Andrej730\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2015\"\u003egitpython-developers/GitPython#2015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix some incorrect sphinx markups in the docstrings by \u003ca href=\"https://github.com/koyuki7w\"\u003e\u003ccode\u003e@​koyuki7w\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2018\"\u003egitpython-developers/GitPython#2018\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ereplace quansight-labs/setup-python with actions/setup-python by \u003ca href=\"https://github.com/ngoldbaum\"\u003e\u003ccode\u003e@​ngoldbaum\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2019\"\u003egitpython-developers/GitPython#2019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eremove type assertions from util.py by \u003ca href=\"https://github.com/gcmarx\"\u003e\u003ccode\u003e@​gcmarx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2028\"\u003egitpython-developers/GitPython#2028\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ecorrectly handle \u003ccode\u003euname-cmd\u003c/code\u003e that doesn't point to an executable file by \u003ca href=\"https://github.com/gcmarx\"\u003e\u003ccode\u003e@​gcmarx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2026\"\u003egitpython-developers/GitPython#2026\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse newer ruff style by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2031\"\u003egitpython-developers/GitPython#2031\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHave CodeQL scan GitHub Actions workflows as well as Python code by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2032\"\u003egitpython-developers/GitPython#2032\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpecify explicit \u003ccode\u003econtents: read\u003c/code\u003e workflow permissions by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2033\"\u003egitpython-developers/GitPython#2033\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix GitConfigParser not removing quotes from values by \u003ca href=\"https://github.com/betaboon\"\u003e\u003ccode\u003e@​betaboon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2035\"\u003egitpython-developers/GitPython#2035\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve quoted leading and trailing single-line config var whitespace by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2036\"\u003egitpython-developers/GitPython#2036\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor Git.{AutoInterrupt,CatFileContentStream} nesting by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2037\"\u003egitpython-developers/GitPython#2037\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Git.{AutoInterrupt,CatFileContentStream} static typing by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2039\"\u003egitpython-developers/GitPython#2039\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix CI \u003ccode\u003emypy\u003c/code\u003e command on free-threaded Python by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2040\"\u003egitpython-developers/GitPython#2040\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSplit Cygwin CI into non-\u003ccode\u003eperformance\u003c/code\u003e and \u003ccode\u003eperformance\u003c/code\u003e test jobs by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2042\"\u003egitpython-developers/GitPython#2042\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpress conditional \u003ccode\u003esetuptools\u003c/code\u003e requirement statically by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2043\"\u003egitpython-developers/GitPython#2043\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ambiguous \u003ccode\u003e_safer_popen_windows\u003c/code\u003e comment by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2044\"\u003egitpython-developers/GitPython#2044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClarify \u003ccode\u003eUSE_SHELL\u003c/code\u003e warning helper signature by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2045\"\u003egitpython-developers/GitPython#2045\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest \u003ccode\u003eConfigParser\u003c/code\u003e with whitespace outside the value by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2046\"\u003egitpython-developers/GitPython#2046\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove explicit empty \u003ccode\u003e\u0026quot;\u0026quot;\u003c/code\u003e handling in ConfigParser by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2047\"\u003egitpython-developers/GitPython#2047\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVarious style improvements by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2049\"\u003egitpython-developers/GitPython#2049\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't remove quotes if \u003ccode\u003e\\\u003c/code\u003e or \u003ccode\u003e\u0026quot;\u003c/code\u003e are present inside by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2048\"\u003egitpython-developers/GitPython#2048\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix updating submodules with relative urls by \u003ca href=\"https://github.com/david0\"\u003e\u003ccode\u003e@​david0\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2051\"\u003egitpython-developers/GitPython#2051\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRun \u003ccode\u003ecat_file.py\u003c/code\u003e fixture without site customizations by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2052\"\u003egitpython-developers/GitPython#2052\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix Cygwin installation on CI for \u003ccode\u003epip\u003c/code\u003e by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2053\"\u003egitpython-developers/GitPython#2053\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFail \u003ccode\u003etest_installation\u003c/code\u003e on warnings, and remove deprecated license classifier by \u003ca href=\"https://github.com/EliahKagan\"\u003e\u003ccode\u003e@​EliahKagan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2054\"\u003egitpython-developers/GitPython#2054\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd clearer error version for unsupported index error by \u003ca href=\"https://github.com/tombedor\"\u003e\u003ccode\u003e@​tombedor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2055\"\u003egitpython-developers/GitPython#2055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix name collision by \u003ca href=\"https://github.com/NMertsch\"\u003e\u003ccode\u003e@​NMertsch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2060\"\u003egitpython-developers/GitPython#2060\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow relative path url in submodules for submodule_update by \u003ca href=\"https://github.com/t-webber\"\u003e\u003ccode\u003e@​t-webber\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2062\"\u003egitpython-developers/GitPython#2062\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/flichtenheld\"\u003e\u003ccode\u003e@​flichtenheld\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/1996\"\u003egitpython-developers/GitPython#1996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kamilkozik7\"\u003e\u003ccode\u003e@​kamilkozik7\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2012\"\u003egitpython-developers/GitPython#2012\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/koyuki7w\"\u003e\u003ccode\u003e@​koyuki7w\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2018\"\u003egitpython-developers/GitPython#2018\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ngoldbaum\"\u003e\u003ccode\u003e@​ngoldbaum\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2019\"\u003egitpython-developers/GitPython#2019\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gcmarx\"\u003e\u003ccode\u003e@​gcmarx\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2028\"\u003egitpython-developers/GitPython#2028\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/betaboon\"\u003e\u003ccode\u003e@​betaboon\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/pull/2035\"\u003egitpython-developers/GitPython#2035\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/gitpython-developers/GitPython/commit/6ba2c0a2f9ee7feffd7e079621c4845820180c9a\"\u003e\u003ccode\u003e6ba2c0a\u003c/code\u003e\u003c/a\u003e Prepare a new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/bbb3d00ac431dc7966f9715fb813792d234eca81\"\u003e\u003ccode\u003ebbb3d00\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/issues/2062\"\u003e#2062\u003c/a\u003e from t-webber/relative_path_submodules\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/1ee1e781929074afd66bff1eae007bbee41d117e\"\u003e\u003ccode\u003e1ee1e78\u003c/code\u003e\u003c/a\u003e Add test case for cloning submodules with relative path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/ec2e2c8b894512e7a2364774d77cdd9db73f0566\"\u003e\u003ccode\u003eec2e2c8\u003c/code\u003e\u003c/a\u003e Allow relative path url in submodules for submodule_update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/4d529b71905edae12e4699170f7d9e0a665801b5\"\u003e\u003ccode\u003e4d529b7\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/issues/2060\"\u003e#2060\u003c/a\u003e from NMertsch/2023-fix-gitconfigparser-autodoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/80fd2c16211738156e65258381a17cdc429ddd08\"\u003e\u003ccode\u003e80fd2c1\u003c/code\u003e\u003c/a\u003e Don't treat sphinx warnings as errors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/a4aadb0c04bd13af824c14dcc39f88345aa5c440\"\u003e\u003ccode\u003ea4aadb0\u003c/code\u003e\u003c/a\u003e Fix name collision\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/4c7778a93134364cfff7b1597f9eda00a88323af\"\u003e\u003ccode\u003e4c7778a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/issues/2057\"\u003e#2057\u003c/a\u003e from gitpython-developers/dependabot/github_actions/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/5033c3ffd8917d835658c22e84bd86103a2ae52d\"\u003e\u003ccode\u003e5033c3f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/gitpython-developers/GitPython/issues/2056\"\u003e#2056\u003c/a\u003e from gitpython-developers/dependabot/github_actions/...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gitpython-developers/GitPython/commit/496392b9bf781904421cbd171c0c5395a6fe330c\"\u003e\u003ccode\u003e496392b\u003c/code\u003e\u003c/a\u003e Bump cygwin/cygwin-install-action from 5 to 6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gitpython-developers/GitPython/compare/3.1.44...3.1.45\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fastapi[standard]` to 0.117.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastapi/fastapi/releases\"\u003efastapi[standard]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.117.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🐛 Fix validation error when \u003ccode\u003eFile\u003c/code\u003e is declared after \u003ccode\u003eForm\u003c/code\u003e parameter. PR \u003ca href=\"https://redirect.github.com/fastapi/fastapi/pull/11194\"\u003e#11194\u003c/a\u003e by \u003ca href=\"https://github.com/thomasleveil\"\u003e\u003ccode\u003e@​thomasleveil\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/784f06cb9b7cc63f6a0cb2bc9cf238473eef93e2\"\u003e\u003ccode\u003e784f06c\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.117.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b5c05893b4c43c93ff94761270ea750c0bd9e30e\"\u003e\u003ccode\u003eb5c0589\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/44fc67632bcdae4d078cb11b1a319ac122cbb06f\"\u003e\u003ccode\u003e44fc676\u003c/code\u003e\u003c/a\u003e 🐛 Fix validation error when \u003ccode\u003eFile\u003c/code\u003e is declared after \u003ccode\u003eForm\u003c/code\u003e parameter (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/11194\"\u003e#11194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/a84001000e59ff362e74f93b8d9a58a4309dac2d\"\u003e\u003ccode\u003ea840010\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/382d083e26a28e95c731e85345c85c6dc99b08b4\"\u003e\u003ccode\u003e382d083\u003c/code\u003e\u003c/a\u003e 🔖 Release version 0.117.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/a7f2dbe976bf72703376f0cd04487bfc4a849f83\"\u003e\u003ccode\u003ea7f2dbe\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/f1e6f978ce10a6f9b4c668350a79462e9ac330a8\"\u003e\u003ccode\u003ef1e6f97\u003c/code\u003e\u003c/a\u003e ⚡️ Fix \u003ccode\u003edefault_factory\u003c/code\u003e for response model field with Pydantic V1 (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/9704\"\u003e#9704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b01d5c97a09b8f4f95b9e9b0d6bc083a23cdea20\"\u003e\u003ccode\u003eb01d5c9\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/b51ec36f2e442495de5e4c22ae51a8f5c44917eb\"\u003e\u003ccode\u003eb51ec36\u003c/code\u003e\u003c/a\u003e ✨  Allow \u003ccode\u003eNone\u003c/code\u003e as return type for bodiless responses (\u003ca href=\"https://redirect.github.com/fastapi/fastapi/issues/9425\"\u003e#9425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastapi/fastapi/commit/0bdc3ca3732e3742e094bea2b320e9774659ac38\"\u003e\u003ccode\u003e0bdc3ca\u003c/code\u003e\u003c/a\u003e 📝 Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastapi/fastapi/compare/0.115.12...0.117.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gcsfs` from 2025.5.1 to 2025.9.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/0b0e077e7a84640ff5ed6c8807026b9e5512d65a\"\u003e\u003ccode\u003e0b0e077\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/64e232c2ee976464ecf9e391cfd592e849d7ffa0\"\u003e\u003ccode\u003e64e232c\u003c/code\u003e\u003c/a\u003e Fix iterating over every entry (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/697\"\u003e#697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/d97099ab40138745569fff98a098defcd7693270\"\u003e\u003ccode\u003ed97099a\u003c/code\u003e\u003c/a\u003e Ensure right error type for get() on nonexistent (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/54e8faa3c6b620f99e232a803d2a86b717c1e6e4\"\u003e\u003ccode\u003e54e8faa\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/40882ce5fc55b941bf566d80f1fc79f7366ccd70\"\u003e\u003ccode\u003e40882ce\u003c/code\u003e\u003c/a\u003e add support message (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/7872bd7a931fb4285d5762ff5d861b8653fc7b70\"\u003e\u003ccode\u003e7872bd7\u003c/code\u003e\u003c/a\u003e remove addcidental inclusion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/55cb49862eaebbe4e6e99455f1eb4079705f66d9\"\u003e\u003ccode\u003e55cb498\u003c/code\u003e\u003c/a\u003e less refresh in ci (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.5.1...2025.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fsspec` from 2025.5.1 to 2025.9.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/f84b99f0d1f079f990db1a219b74df66ab3e7160\"\u003e\u003ccode\u003ef84b99f\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1912\"\u003e#1912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/4e5f7686874953e9130891feb2fac69277ab4ad1\"\u003e\u003ccode\u003e4e5f768\u003c/code\u003e\u003c/a\u003e Feature, Add a lookup of Last-Modified in http file headers (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1909\"\u003e#1909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/cf798ec684e0583906dda1ae6ff40de620c01eca\"\u003e\u003ccode\u003ecf798ec\u003c/code\u003e\u003c/a\u003e Add semaphore to AsyncFileSystemWrapper (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1908\"\u003e#1908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/c46db870f828f7f1318ed7a3dc26ecc8b48b3880\"\u003e\u003ccode\u003ec46db87\u003c/code\u003e\u003c/a\u003e Ensure cached filesystems' \u003ccode\u003eprotocol\u003c/code\u003e is preserved (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1897\"\u003e#1897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/d0b1729a522ff9a47bd465bdbe430cdccfc302e2\"\u003e\u003ccode\u003ed0b1729\u003c/code\u003e\u003c/a\u003e Prevent returning cached entry if the entry is degenerate (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1873\"\u003e#1873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/81a5fd53cb17c3c1fffb9661d1563ea2d62b6d71\"\u003e\u003ccode\u003e81a5fd5\u003c/code\u003e\u003c/a\u003e PEP 639 compliance (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1894\"\u003e#1894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/1918145a02abfb647fcbde40fbfdfe0311a399d6\"\u003e\u003ccode\u003e1918145\u003c/code\u003e\u003c/a\u003e fix simplecache cat_ranges (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1892\"\u003e#1892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/852f892f497940fc246d335a0ac7b3b3d93530fc\"\u003e\u003ccode\u003e852f892\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1891\"\u003e#1891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/97e5913518b4b11805394add1488ae93c62303cd\"\u003e\u003ccode\u003e97e5913\u003c/code\u003e\u003c/a\u003e Ruff legacy alias (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1887\"\u003e#1887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/57b7381ad92455ea0d4861e5e3531a77b823fc1f\"\u003e\u003ccode\u003e57b7381\u003c/code\u003e\u003c/a\u003e Remove any references to Python 3.8 (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1888\"\u003e#1888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/filesystem_spec/compare/2025.5.1...2025.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `black` to 25.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/releases\"\u003eblack's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\u003ccode\u003eas\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild gallery docker image with python3-slim and reduce image size (\u003ca href=\"https://redirect.github.com/psf/black/issues/4686\"\u003e#4686\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/psf/black/blob/main/CHANGES.md\"\u003eblack's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.9.0\u003c/h2\u003e\n\u003ch3\u003eHighlights\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove support for pre-python 3.7 \u003ccode\u003eawait/async\u003c/code\u003e as soft keywords/variable names\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eStable style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash while formatting a long \u003ccode\u003edel\u003c/code\u003e statement containing tuples (\u003ca href=\"https://redirect.github.com/psf/black/issues/4628\"\u003e#4628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash while formatting expressions using the walrus operator in complex \u003ccode\u003ewith\u003c/code\u003e\nstatements (\u003ca href=\"https://redirect.github.com/psf/black/issues/4630\"\u003e#4630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003e# fmt: skip\u003c/code\u003e followed by a comment at the end of file (\u003ca href=\"https://redirect.github.com/psf/black/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when a tuple appears in the \u003ccode\u003eas\u003c/code\u003e clause of a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when tuple is used as a context manager inside a \u003ccode\u003ewith\u003c/code\u003e statement (\u003ca href=\"https://redirect.github.com/psf/black/issues/4646\"\u003e#4646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when formatting a \u003ccode\u003e\\\u003c/code\u003e followed by a \u003ccode\u003e\\r\u003c/code\u003e followed by a comment (\u003ca href=\"https://redirect.github.com/psf/black/issues/4663\"\u003e#4663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on a \u003ccode\u003e\\\\r\\n\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4673\"\u003e#4673\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on \u003ccode\u003eawait ...\u003c/code\u003e (where \u003ccode\u003e...\u003c/code\u003e is a literal \u003ccode\u003eEllipsis\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/psf/black/issues/4676\"\u003e#4676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on parenthesized expression inside a type parameter bound (\u003ca href=\"https://redirect.github.com/psf/black/issues/4684\"\u003e#4684\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when using line ranges excluding indented single line decorated items\n(\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePreview style\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix a bug where one-liner functions/conditionals marked with \u003ccode\u003e# fmt: skip\u003c/code\u003e would still\nbe formatted (\u003ca href=\"https://redirect.github.com/psf/black/issues/4552\"\u003e#4552\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003emultiline_string_handling\u003c/code\u003e with ternaries and dictionaries (\u003ca href=\"https://redirect.github.com/psf/black/issues/4657\"\u003e#4657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where \u003ccode\u003estring_processing\u003c/code\u003e would not split f-strings directly after\nexpressions (\u003ca href=\"https://redirect.github.com/psf/black/issues/4680\"\u003e#4680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove parentheses around multiple exception types in \u003ccode\u003eexcept\u003c/code\u003e and \u003ccode\u003eexcept*\u003c/code\u003e without\n\u003ccode\u003eas\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4720\"\u003e#4720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e\\r\u003c/code\u003e style newlines to the potential newlines to normalize file newlines both from\nand to (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eParser\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite tokenizer to improve performance and compliance (\u003ca href=\"https://redirect.github.com/psf/black/issues/4536\"\u003e#4536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where certain unusual expressions (e.g., lambdas) were not accepted in type\nparameter bounds and defaults. (\u003ca href=\"https://redirect.github.com/psf/black/issues/4602\"\u003e#4602\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using an extra process when running with only one worker (\u003ca href=\"https://redirect.github.com/psf/black/issues/4734\"\u003e#4734\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eIntegrations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix the version check in the vim file to reject Python 3.8 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4567\"\u003e#4567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnhance GitHub Action \u003ccode\u003epsf/black\u003c/code\u003e to read Black version from an additional section in\npyproject.toml: \u003ccode\u003e[project.dependency-groups]\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/psf/black/issues/4606\"\u003e#4606\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/psf/black/commit/af0ba72a73598c76189d6dd1b21d8532255d5942\"\u003e\u003ccode\u003eaf0ba72\u003c/code\u003e\u003c/a\u003e Prepare docs for release 25.9.0 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4751\"\u003e#4751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/ffc01a027580d99401abb3197e83d50dc4f4c746\"\u003e\u003ccode\u003effc01a0\u003c/code\u003e\u003c/a\u003e Fix schema generation error caused by new click version (\u003ca href=\"https://redirect.github.com/psf/black/issues/4750\"\u003e#4750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/626b32fe2b5387656be6694da9a4b7a3148fb892\"\u003e\u003ccode\u003e626b32f\u003c/code\u003e\u003c/a\u003e Add normalizing for \u003ccode\u003e\\r\u003c/code\u003e style newlines (\u003ca href=\"https://redirect.github.com/psf/black/issues/4710\"\u003e#4710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/57a461258f324e33bca189b2eb49d7f7a944ffe7\"\u003e\u003ccode\u003e57a4612\u003c/code\u003e\u003c/a\u003e Fix mypy type issue (\u003ca href=\"https://redirect.github.com/psf/black/issues/4745\"\u003e#4745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4f6ad7cf8c3092e0fb4d82f54fe77ccde134468a\"\u003e\u003ccode\u003e4f6ad7c\u003c/code\u003e\u003c/a\u003e Wrap the \u003ccode\u003ein\u003c/code\u003e clause of comprehensions across lines if necessary (\u003ca href=\"https://redirect.github.com/psf/black/issues/4699\"\u003e#4699\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/24f516961720c5578069dee30415b776359b7be5\"\u003e\u003ccode\u003e24f5169\u003c/code\u003e\u003c/a\u003e ci: Run diff-shades on unstable instead of preview (\u003ca href=\"https://redirect.github.com/psf/black/issues/4741\"\u003e#4741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/4d55e6017993ee3f0927524e8bc19ead8de9e8ed\"\u003e\u003ccode\u003e4d55e60\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 (\u003ca href=\"https://redirect.github.com/psf/black/issues/4744\"\u003e#4744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/0cf39efdbc3aaea455f95d31e5b42efb6bd61478\"\u003e\u003ccode\u003e0cf39ef\u003c/code\u003e\u003c/a\u003e Improve the performance of get_string_prefix (\u003ca href=\"https://redirect.github.com/psf/black/issues/4742\"\u003e#4742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/1f779dec013db37475fa56a5c9939a09eab7e7d6\"\u003e\u003ccode\u003e1f779de\u003c/code\u003e\u003c/a\u003e Fix line ranges decorator edge case (\u003ca href=\"https://redirect.github.com/psf/black/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/psf/black/commit/203fd6b5cdad975178b8174394a7f7fb13d14f02\"\u003e\u003ccode\u003e203fd6b\u003c/code\u003e\u003c/a\u003e Optimize Line string method (\u003ca href=\"https://redirect.github.com/psf/black/issues/4739\"\u003e#4739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/psf/black/compare/25.1.0...25.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `flake8` to 7.3.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/c48217e1fc006c2dddd14df54e83b67da15de5cd\"\u003e\u003ccode\u003ec48217e\u003c/code\u003e\u003c/a\u003e Release 7.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/f9e0f33281d5bb892cae2c674ac398439d99c732\"\u003e\u003ccode\u003ef9e0f33\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1986\"\u003e#1986\u003c/a\u003e from PyCQA/document-f542\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/6bcdb628597fa2d03494965089ff87a492ffc1e9\"\u003e\u003ccode\u003e6bcdb62\u003c/code\u003e\u003c/a\u003e document F542\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/70a15b8890d5bdf8c449ebb1b5259bd0140cc16b\"\u003e\u003ccode\u003e70a15b8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1985\"\u003e#1985\u003c/a\u003e from PyCQA/upgrade-deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/4941a3e32e54488698ecbc23993bfeb2a60c0fc5\"\u003e\u003ccode\u003e4941a3e\u003c/code\u003e\u003c/a\u003e upgrade pyflakes / pycodestyle\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/23e4005c5501999c29e1e3774de7ed18d1e4e22d\"\u003e\u003ccode\u003e23e4005\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1983\"\u003e#1983\u003c/a\u003e from PyCQA/py314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/019424b80d3d7d5d8a2a1638f5877080546e3f46\"\u003e\u003ccode\u003e019424b\u003c/code\u003e\u003c/a\u003e add support for t-strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/6b6f3d5fefecc994a06f425c18c3cddc9b71e4a4\"\u003e\u003ccode\u003e6b6f3d5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1980\"\u003e#1980\u003c/a\u003e from PyCQA/asottile-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/8dfa6695b4fb1e1401b357367a0a71037d29f6aa\"\u003e\u003ccode\u003e8dfa669\u003c/code\u003e\u003c/a\u003e add rtd sphinx config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/flake8/commit/ce3411118382d9332feb2749c8f417d10bfa2584\"\u003e\u003ccode\u003ece34111\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pycqa/flake8/issues/1976\"\u003e#1976\u003c/a\u003e from PyCQA/document-f824\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pycqa/flake8/compare/7.2.0...7.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pytest` to 8.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pytest-dev/pytest/releases\"\u003epytest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.4.2\u003c/h2\u003e\n\u003ch1\u003epytest 8.4.2 (2025-09-03)\u003c/h1\u003e\n\u003ch2\u003eBug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13478\"\u003e#13478\u003c/a\u003e: Fixed a crash when using \u003ccode\u003econsole_output_style\u003c/code\u003e{.interpreted-text role=\u0026quot;confval\u0026quot;} with \u003ccode\u003etimes\u003c/code\u003e and a module is skipped.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13530\"\u003e#13530\u003c/a\u003e: Fixed a crash when using \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} and \u003ccode\u003edecimal.Decimal\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} instances with the \u003ccode\u003edecimal.FloatOperation\u003c/code\u003e{.interpreted-text role=\u0026quot;class\u0026quot;} trap set.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13549\"\u003e#13549\u003c/a\u003e: No longer evaluate type annotations in Python \u003ccode\u003e3.14\u003c/code\u003e when inspecting function signatures.\u003c/p\u003e\n\u003cp\u003eThis prevents crashes during module collection when modules do not explicitly use \u003ccode\u003efrom __future__ import annotations\u003c/code\u003e and import types for annotations within a \u003ccode\u003eif TYPE_CHECKING:\u003c/code\u003e block.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13559\"\u003e#13559\u003c/a\u003e: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in \u003ccode\u003epytest.Parser.addini\u003c/code\u003e{.interpreted-text role=\u0026quot;meth\u0026quot;}.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13563\"\u003e#13563\u003c/a\u003e: \u003ccode\u003epytest.approx\u003c/code\u003e{.interpreted-text role=\u0026quot;func\u0026quot;} now only imports \u003ccode\u003enumpy\u003c/code\u003e if NumPy is already in \u003ccode\u003esys.modules\u003c/code\u003e. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImproved documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13577\"\u003e#13577\u003c/a\u003e: Clarify that \u003ccode\u003epytest_generate_tests\u003c/code\u003e is discovered in test modules/classes; other hooks must be in \u003ccode\u003econftest.py\u003c/code\u003e or plugins.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eContributor-facing changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13480\"\u003e#13480\u003c/a\u003e: Self-testing: fixed a few test failures when run with \u003ccode\u003e-Wdefault\u003c/code\u003e or a similar override.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13547\"\u003e#13547\u003c/a\u003e: Self-testing: corrected expected message for \u003ccode\u003etest_doctest_unexpected_exception\u003c/code\u003e in Python \u003ccode\u003e3.14\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13684\"\u003e#13684\u003c/a\u003e: Make pytest's own testsuite insensitive to the presence of the \u003ccode\u003eCI\u003c/code\u003e environment variable -- by \u003ccode\u003eogrisel\u003c/code\u003e{.interpreted-text role=\u0026quot;user\u0026quot;}.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/bfae4224fd554d3d7f2c277a4cc092b6ec6af3ae\"\u003e\u003ccode\u003ebfae422\u003c/code\u003e\u003c/a\u003e Prepare release version 8.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/89905381a163be30ae87d62e5f750e902d750c5f\"\u003e\u003ccode\u003e8990538\u003c/code\u003e\u003c/a\u003e Fix passenv CI in tox ini and make tests insensitive to the presence of the C...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/ca676bfe005aebcb12f4146d1b0f1d2772e2cd5d\"\u003e\u003ccode\u003eca676bf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13687\"\u003e#13687\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/e63f6e51c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/975a60a63ce385a44655596e254c1899feaa53e4\"\u003e\u003ccode\u003e975a60a\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13686\"\u003e#13686\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/12bde8af6...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/7723ce84b87ab08f86ddafcb342acc28ba5ec99d\"\u003e\u003ccode\u003e7723ce8\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13683\"\u003e#13683\u003c/a\u003e from even-even/fix_Exeption_to_Exception_in_errorMe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/b7f05680d1301e0969b30bcb3c4b27433c9ee2b7\"\u003e\u003ccode\u003eb7f0568\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13685\"\u003e#13685\u003c/a\u003e from CoretexShadow/fix/docs-pytest-generate-tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/2c94c4a6948ba53440818389298157fa5d5f94cd\"\u003e\u003ccode\u003e2c94c4a\u003c/code\u003e\u003c/a\u003e add missing colon (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13640\"\u003e#13640\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13641\"\u003e#13641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/c3d7684bc01c8c48d05145a30c5211ca8656c68c\"\u003e\u003ccode\u003ec3d7684\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13606\"\u003e#13606\u003c/a\u003e from pytest-dev/patchback/backports/8.4.x/5f9938563...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/dc6e3be2ddc75a149b6d102d9b7c82ee47a00cfa\"\u003e\u003ccode\u003edc6e3be\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13605\"\u003e#13605\u003c/a\u003e from The-Compiler/training-update-2025-07\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pytest-dev/pytest/commit/f87289c36c8dbe7740e3020f5546b6f8b0861ff0\"\u003e\u003ccode\u003ef87289c\u003c/code\u003e\u003c/a\u003e Fix crash with \u003ccode\u003etimes\u003c/code\u003e output style and skipped module (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13573\"\u003e#13573\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pytest-dev/pytest/issues/13579\"\u003e#13579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pytest-dev/pytest/compare/8.4.0...8.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `robotframework` from 7.2.2 to 7.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/robotframework/robotframework/releases\"\u003erobotframework's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRobot Framework 7.3.2\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://robotframework.org/\"\u003eRobot Framework\u003c/a\u003e 7.3.2 is the second and the last planned bug fix release in the Robot Framework 7.3.x series. It fixes few regressions in earlier RF 7.3.x releases as well as some issues affecting also earlier releases.\u003c/p\u003e\n\u003cp\u003eFor more details, see the \u003ca href=\"https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.3.2.rst\"\u003efull release notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRobot Framework 7.3.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://robotframework.org/\"\u003eRobot Framework\u003c/a\u003e 7.3.1 is the first bug fix release in the Robot Framework 7.3.x series. It fixes all reported regressions in \u003ca href=\"https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.3.rst\"\u003eRobot Framework 7.3\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eFor more details, see the \u003ca href=\"https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.3.1.rst\"\u003efull release notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRobot Framework 7.3\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://robotframework.org/\"\u003eRobot Framework\u003c/a\u003e 7.3 is a feature release with variable type conversion, enhancements and fixes related to timeouts, official Python 3.14 compatibility and various other exciting new features and high priority bug fixes.\u003c/p\u003e\n\u003cp\u003eRobot Framework 7.3 was released on Friday May 30, 2025. For more information see the \u003ca href=\"https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.3.rst\"\u003efull release notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRobot Framework 7.3 release candidate 3\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://robotframework.org/\"\u003eRobot Framework\u003c/a\u003e 7.3 is a feature release with variable type conversion, enhancements and fixes related to timeouts, official Python 3.14 compatibility and various other exciting new features and high priority bug fixes. This release candidate contains all planned code changes.\u003c/p\u003e\n\u003cp\u003eRobot Framework 7.3 release candidate 3 was released on Wednesday May 21, 2025, and the final release is targeted for Tuesday May 27, 2025. For more information see the \u003ca href=\"https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.3rc3.rst\"\u003efull release notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRobot Framework 7.3 release candidate 2\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://robotframework.org/\"\u003eRobot Framework\u003c/a\u003e 7.3 is a feature release with variable type conversion, enhancements and fixes related to timeouts, official Python 3.14 compatibility and various other exciting new features and high priority bug fixes. This release candidate contains all planned code changes.\u003c/p\u003e\n\u003cp\u003eRobot Framework 7.3 release candidate 2 was released on Monday May 19, 2025, and the final release is targeted for Thursday May 22, 2025. For more information see the \u003ca href=\"https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.3rc2.rst\"\u003efull release notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eRobot Framework 7.3 release candidate 1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"http://robotframework.org/\"\u003eRobot Framework\u003c/a\u003e 7.3 is a feature release with variable type conversion, enhancements and fixes related to timeouts, and various other exciting new features and high priority bug fixes. This release candidate contains all planned code changes.\u003c/p\u003e\n\u003cp\u003eRobot Framework 7.3 release candidate 1 was released on Thursday May 8, 2025, and the final release is targeted for Thursday May 15, 2025. For more information see the \u003ca href=\"https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.3rc1.rst\"\u003efull release 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/robotframework/robotframework/commit/5b07ac38cfe44a9445eb10a6005ba5eba575a051\"\u003e\u003ccode\u003e5b07ac3\u003c/code\u003e\u003c/a\u003e Updated version to 7.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/36a4d2297fb01e136c48797457007d32390b13c7\"\u003e\u003ccode\u003e36a4d22\u003c/code\u003e\u003c/a\u003e Release notes for 7.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/3bda0950fd3cf6250509b88e3bfab97e2e95af81\"\u003e\u003ccode\u003e3bda095\u003c/code\u003e\u003c/a\u003e Fix --flattenkeywords with JSON outputs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/38e3926aaf4460fc1bcc57ffd5af1b1ab972fc11\"\u003e\u003ccode\u003e38e3926\u003c/code\u003e\u003c/a\u003e Consistent naming\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/0039fb88475abead92bb462b484a78df4b0c99f9\"\u003e\u003ccode\u003e0039fb8\u003c/code\u003e\u003c/a\u003e Enhance JsonLoader config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/f93468ce16e7e40b14f6f8eda42b3bd0d0f4a2b0\"\u003e\u003ccode\u003ef93468c\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003einclude_keywords=False\u003c/code\u003e with JSON.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/81b358d7c4f53d76b330f108c2e808965ae8d5b9\"\u003e\u003ccode\u003e81b358d\u003c/code\u003e\u003c/a\u003e Nicer signature to ExecutionResult\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/ec5aaae261b9c2fedac78577793911820edf4785\"\u003e\u003ccode\u003eec5aaae\u003c/code\u003e\u003c/a\u003e Make JsonDumber configurable.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/331394c8f8b533572cef19d64790af6613cf23ac\"\u003e\u003ccode\u003e331394c\u003c/code\u003e\u003c/a\u003e Don't access suite.teardown unnecessarily.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/robotframework/robotframework/commit/0f9e35ea752746a6a5b0a138f3aef4dd880e49ea\"\u003e\u003ccode\u003e0f9e35e\u003c/code\u003e\u003c/a\u003e Fix handling failing suite teardowns with JSON\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/robotframework/robotframework/compare/v7.2.2...v7.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sqlfluff` from 3.4.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqlfluff/sqlfluff/releases\"\u003esqlfluff's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.4.2] - 2025-07-11\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThis release adds support for two new dialects: \u003cem\u003eApache Doris\u003c/em\u003e and \u003cem\u003eFlinkSQL\u003c/em\u003e.\u003c/li\u003e\n\u003cli\u003eIt also has several CLI improvements, Dialect Improvements, and bugfixes\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThis release has \u003cem\u003e25\u003c/em\u003e contributions in it!\u003c/p\u003e\n\u003cp\u003eAlso, welcome to the \u003cstrong\u003efive\u003c/strong\u003e new contributors! Thanks for your contributions!\u003c/p\u003e\n\u003ch2\u003eWhat’s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePostgres: Fix VARIADIC function call parsing (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/7002\"\u003e#7002\u003c/a\u003e) \u003ca href=\"https://github.com/franloza\"\u003e\u003ccode\u003e@​franloza\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePostgres: Add IS JSON syntax support (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/7001\"\u003e#7001\u003c/a\u003e) \u003ca href=\"https://github.com/franloza\"\u003e\u003ccode\u003e@​franloza\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(databricks): add support for single-line magics (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6999\"\u003e#6999\u003c/a\u003e) \u003ca href=\"https://github.com/phant0mw0lf\"\u003e\u003ccode\u003e@​phant0mw0lf\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrino: support ALTER TABLE (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6996\"\u003e#6996\u003c/a\u003e) \u003ca href=\"https://github.com/ykicisk\"\u003e\u003ccode\u003e@​ykicisk\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSnowflake: Support UNION (ALL) BY NAME (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6994\"\u003e#6994\u003c/a\u003e) \u003ca href=\"https://github.com/WittierDinosaur\"\u003e\u003ccode\u003e@​WittierDinosaur\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6522\"\u003e#6522\u003c/a\u003e FlinkSQL Dialect Implementation (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6985\"\u003e#6985\u003c/a\u003e) \u003ca href=\"https://github.com/kalanyuz\"\u003e\u003ccode\u003e@​kalanyuz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTsql align alias when using equal operator (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6786\"\u003e#6786\u003c/a\u003e) \u003ca href=\"https://github.com/IngerMathilde\"\u003e\u003ccode\u003e@​IngerMathilde\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTSQL: Rework the execute statement block to latest specs (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6953\"\u003e#6953\u003c/a\u003e) \u003ca href=\"https://github.com/peterbud\"\u003e\u003ccode\u003e@​peterbud\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Apache Doris SQL dialect support to SQLFluff (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6979\"\u003e#6979\u003c/a\u003e) \u003ca href=\"https://github.com/morningman\"\u003e\u003ccode\u003e@​morningman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eST05: Support dialects that use WITH, INSERT, SELECT order (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6982\"\u003e#6982\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCV12 and AL05: Prevent AL05 from deleting rewritten CV12 references (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6981\"\u003e#6981\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDuckDB: add support for additional star expressions (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6977\"\u003e#6977\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCLI: Add support for the \u003ccode\u003eNO_COLOR\u003c/code\u003e environment variable (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6976\"\u003e#6976\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSQLite: Make \u003ccode\u003eACTION\u003c/code\u003e a non-reserved keyword (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6970\"\u003e#6970\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSnowflake: fix collate grammar with aliases (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6967\"\u003e#6967\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds support for \u003ccode\u003ejson_object\u003c/code\u003e syntax in Oracle. (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6973\"\u003e#6973\u003c/a\u003e) \u003ca href=\"https://github.com/joaostorrer\"\u003e\u003ccode\u003e@​joaostorrer\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade OverlapsClauseSegment (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6964\"\u003e#6964\u003c/a\u003e) \u003ca href=\"https://github.com/kkozhakin\"\u003e\u003ccode\u003e@​kkozhakin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eANSI: Support CTEs in Merge (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6972\"\u003e#6972\u003c/a\u003e) \u003ca href=\"https://github.com/NormallyGaussian\"\u003e\u003ccode\u003e@​NormallyGaussian\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix ST09 rule not detecting violations in Jinja templated SQL (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6958\"\u003e#6958\u003c/a\u003e) \u003ca href=\"https://github.com/kang8\"\u003e\u003ccode\u003e@​kang8\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMariaDB: Allow CTEs in \u003ccode\u003eINSERT\u003c/code\u003e statements (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6955\"\u003e#6955\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAliasInfo: handle quotes and special aliases in rules (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6954\"\u003e#6954\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAPI: prioritize configuration file's dialect (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6951\"\u003e#6951\u003c/a\u003e) \u003ca href=\"https://github.com/keraion\"\u003e\u003ccode\u003e@​keraion\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTsql add alter constraint if exists (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6957\"\u003e#6957\u003c/a\u003e) \u003ca href=\"https://github.com/IngerMathilde\"\u003e\u003ccode\u003e@​IngerMathilde\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTSQL: add support for extended Unicode characters in identifiers (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6952\"\u003e#6952\u003c/a\u003e) \u003ca href=\"https://github.com/peterbud\"\u003e\u003ccode\u003e@​peterbud\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTSQL: Add support for CREATE TABLE GRAPH statements (\u003ca href=\"https://redirect.github.com/sqlfluff/sqlfluff/issues/6948\"\u003e#6948\u003c/a\u003e) \u003ca href=\"https://github.com/peterbud\"\u003e\u003ccode\u003e@​peterbud\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.4.1] - 2025-06-13\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThis is primarily a ...\n\n_Description has been truncated_","html_url":"https://github.com/openteamsinc/opensourcescore.dev/pull/211","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/openteamsinc%2Fopensourcescore.dev/issues/211","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/211/packages"}},{"old_version":"2025.7.0","new_version":"2025.9.0","update_type":"minor","path":null,"pr_created_at":"2025-09-22T12:05:10.000Z","version_change":"2025.7.0 → 2025.9.0","issue":{"uuid":"2849195952","node_id":"PR_kwDOJgSYNM6p00ew","number":841,"state":"open","title":"Bump the fs-deps group with 2 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-22T12:05:10.000Z","updated_at":"2025-09-22T12:05:10.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"fs-deps","update_count":2,"packages":[{"name":"fsspec","old_version":"2025.7.0","new_version":"2025.9.0","repository_url":"https://github.com/fsspec/filesystem_spec"},{"name":"gcsfs","old_version":"2025.7.0","new_version":"2025.9.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Bumps the fs-deps group with 2 updates: [fsspec](https://github.com/fsspec/filesystem_spec) and [gcsfs](https://github.com/fsspec/gcsfs).\n\nUpdates `fsspec` from 2025.7.0 to 2025.9.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/f84b99f0d1f079f990db1a219b74df66ab3e7160\"\u003e\u003ccode\u003ef84b99f\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1912\"\u003e#1912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/4e5f7686874953e9130891feb2fac69277ab4ad1\"\u003e\u003ccode\u003e4e5f768\u003c/code\u003e\u003c/a\u003e Feature, Add a lookup of Last-Modified in http file headers (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1909\"\u003e#1909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/cf798ec684e0583906dda1ae6ff40de620c01eca\"\u003e\u003ccode\u003ecf798ec\u003c/code\u003e\u003c/a\u003e Add semaphore to AsyncFileSystemWrapper (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1908\"\u003e#1908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/c46db870f828f7f1318ed7a3dc26ecc8b48b3880\"\u003e\u003ccode\u003ec46db87\u003c/code\u003e\u003c/a\u003e Ensure cached filesystems' \u003ccode\u003eprotocol\u003c/code\u003e is preserved (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1897\"\u003e#1897\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/d0b1729a522ff9a47bd465bdbe430cdccfc302e2\"\u003e\u003ccode\u003ed0b1729\u003c/code\u003e\u003c/a\u003e Prevent returning cached entry if the entry is degenerate (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1873\"\u003e#1873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/81a5fd53cb17c3c1fffb9661d1563ea2d62b6d71\"\u003e\u003ccode\u003e81a5fd5\u003c/code\u003e\u003c/a\u003e PEP 639 compliance (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1894\"\u003e#1894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/filesystem_spec/commit/1918145a02abfb647fcbde40fbfdfe0311a399d6\"\u003e\u003ccode\u003e1918145\u003c/code\u003e\u003c/a\u003e fix simplecache cat_ranges (\u003ca href=\"https://redirect.github.com/fsspec/filesystem_spec/issues/1892\"\u003e#1892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fsspec/filesystem_spec/compare/2025.7.0...2025.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gcsfs` from 2025.7.0 to 2025.9.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/0b0e077e7a84640ff5ed6c8807026b9e5512d65a\"\u003e\u003ccode\u003e0b0e077\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/64e232c2ee976464ecf9e391cfd592e849d7ffa0\"\u003e\u003ccode\u003e64e232c\u003c/code\u003e\u003c/a\u003e Fix iterating over every entry (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/697\"\u003e#697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/d97099ab40138745569fff98a098defcd7693270\"\u003e\u003ccode\u003ed97099a\u003c/code\u003e\u003c/a\u003e Ensure right error type for get() on nonexistent (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.7.0...2025.9.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/JoranAngevaare/optim_esm_base/pull/841","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoranAngevaare%2Foptim_esm_base/issues/841","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/841/packages"}},{"old_version":"2025.5.1","new_version":"2025.9.0","update_type":"minor","path":null,"pr_created_at":"2025-09-08T02:36:08.000Z","version_change":"2025.5.1 → 2025.9.0","issue":{"uuid":"2806629918","node_id":"PR_kwDOO8h2Wc6nScYe","number":51,"state":"open","title":"Bump gcsfs from 2025.5.1 to 2025.9.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-08T02:36:08.000Z","updated_at":"2025-09-08T02:36:09.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"gcsfs","old_version":"2025.5.1","new_version":"2025.9.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Bumps [gcsfs](https://github.com/fsspec/gcsfs) from 2025.5.1 to 2025.9.0.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/0b0e077e7a84640ff5ed6c8807026b9e5512d65a\"\u003e\u003ccode\u003e0b0e077\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/64e232c2ee976464ecf9e391cfd592e849d7ffa0\"\u003e\u003ccode\u003e64e232c\u003c/code\u003e\u003c/a\u003e Fix iterating over every entry (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/697\"\u003e#697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/d97099ab40138745569fff98a098defcd7693270\"\u003e\u003ccode\u003ed97099a\u003c/code\u003e\u003c/a\u003e Ensure right error type for get() on nonexistent (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/54e8faa3c6b620f99e232a803d2a86b717c1e6e4\"\u003e\u003ccode\u003e54e8faa\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/40882ce5fc55b941bf566d80f1fc79f7366ccd70\"\u003e\u003ccode\u003e40882ce\u003c/code\u003e\u003c/a\u003e add support message (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/7872bd7a931fb4285d5762ff5d861b8653fc7b70\"\u003e\u003ccode\u003e7872bd7\u003c/code\u003e\u003c/a\u003e remove addcidental inclusion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/55cb49862eaebbe4e6e99455f1eb4079705f66d9\"\u003e\u003ccode\u003e55cb498\u003c/code\u003e\u003c/a\u003e less refresh in ci (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.5.1...2025.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gcsfs\u0026package-manager=pip\u0026previous-version=2025.5.1\u0026new-version=2025.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/kkkamur07/food103seg-calories/pull/51","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkkamur07%2Ffood103seg-calories/issues/51","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/51/packages"}},{"old_version":"2025.7.0","new_version":"2025.9.0","update_type":"minor","path":null,"pr_created_at":"2025-09-04T18:12:08.000Z","version_change":"2025.7.0 → 2025.9.0","issue":{"uuid":"2800367666","node_id":"PR_kwDOKrpNGs6m6jgy","number":1979,"state":"open","title":"Bump gcsfs from 2025.7.0 to 2025.9.0","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-09-04T18:12:08.000Z","updated_at":"2025-09-04T18:12:09.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"gcsfs","old_version":"2025.7.0","new_version":"2025.9.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Bumps [gcsfs](https://github.com/fsspec/gcsfs) from 2025.7.0 to 2025.9.0.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/0b0e077e7a84640ff5ed6c8807026b9e5512d65a\"\u003e\u003ccode\u003e0b0e077\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/64e232c2ee976464ecf9e391cfd592e849d7ffa0\"\u003e\u003ccode\u003e64e232c\u003c/code\u003e\u003c/a\u003e Fix iterating over every entry (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/697\"\u003e#697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/d97099ab40138745569fff98a098defcd7693270\"\u003e\u003ccode\u003ed97099a\u003c/code\u003e\u003c/a\u003e Ensure right error type for get() on nonexistent (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/2025.7.0...2025.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gcsfs\u0026package-manager=pip\u0026previous-version=2025.7.0\u0026new-version=2025.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot 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/shilu10/MANN-Meta-Learning/pull/1979","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/shilu10%2FMANN-Meta-Learning/issues/1979","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1979/packages"}},{"old_version":"\u003c2025.8.0","new_version":"\u003c2025.10.0","update_type":"minor","path":null,"pr_created_at":"2025-09-04T01:21:22.000Z","version_change":"\u003c2025.8.0 → \u003c2025.10.0","issue":{"uuid":"3381792392","node_id":"PR_kwDOPVej186mwVp7","number":15,"state":"open","title":"Update gcsfs requirement from \u003c2025.8.0 to \u003c2025.10.0","user":"dependabot[bot]","labels":["dependencies","python","stale"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-09-04T01:21:22.000Z","updated_at":"2025-10-04T11:11:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Update","packages":[{"name":"gcsfs","old_version":"\u003c2025.8.0","new_version":"\u003c2025.10.0","repository_url":"https://github.com/fsspec/gcsfs"}],"path":null,"ecosystem":"pip"},"body":"Updates the requirements on [gcsfs](https://github.com/fsspec/gcsfs) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/0b0e077e7a84640ff5ed6c8807026b9e5512d65a\"\u003e\u003ccode\u003e0b0e077\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/698\"\u003e#698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/64e232c2ee976464ecf9e391cfd592e849d7ffa0\"\u003e\u003ccode\u003e64e232c\u003c/code\u003e\u003c/a\u003e Fix iterating over every entry (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/697\"\u003e#697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/d97099ab40138745569fff98a098defcd7693270\"\u003e\u003ccode\u003ed97099a\u003c/code\u003e\u003c/a\u003e Ensure right error type for get() on nonexistent (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/695\"\u003e#695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/54e8faa3c6b620f99e232a803d2a86b717c1e6e4\"\u003e\u003ccode\u003e54e8faa\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/693\"\u003e#693\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/40882ce5fc55b941bf566d80f1fc79f7366ccd70\"\u003e\u003ccode\u003e40882ce\u003c/code\u003e\u003c/a\u003e add support message (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/691\"\u003e#691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/7872bd7a931fb4285d5762ff5d861b8653fc7b70\"\u003e\u003ccode\u003e7872bd7\u003c/code\u003e\u003c/a\u003e remove addcidental inclusion\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/55cb49862eaebbe4e6e99455f1eb4079705f66d9\"\u003e\u003ccode\u003e55cb498\u003c/code\u003e\u003c/a\u003e less refresh in ci (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/690\"\u003e#690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/818b563e7c171d950b12378acb066660f0d9ac81\"\u003e\u003ccode\u003e818b563\u003c/code\u003e\u003c/a\u003e changelog (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/689\"\u003e#689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/805295a96033fcfcade9151f73a568a30e1bbe84\"\u003e\u003ccode\u003e805295a\u003c/code\u003e\u003c/a\u003e Use correct timezone conversion for credentials expiry timestamp (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/688\"\u003e#688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fsspec/gcsfs/commit/1543ab4fcc4b17fcaa680abab0e93fed33980e21\"\u003e\u003ccode\u003e1543ab4\u003c/code\u003e\u003c/a\u003e Fix timezone comparison (\u003ca href=\"https://redirect.github.com/fsspec/gcsfs/issues/683\"\u003e#683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fsspec/gcsfs/compare/0.0.1...2025.9.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 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/Harvester57/astronomer-cosmos/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Harvester57%2Fastronomer-cosmos/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"}}]}